Bonjour,
J'ai un petit souci avec un bout de code.
Il fonctionne sans problèmes sous Ffox 2 et Ffox3, dans mes recherches j'ai vu que IE 7 ne supportait plus les "onChange/onClick" dans une balise SELECT mais ce n'est pas le cas ici, la fonction javascript se lance bien, mais le paramètre - un simple "this.value" - n'est pas pris en compte.
Les bouts de code fautifs :
Code :
- <Script type="text/javascript">
- function majEntryToDisplay(nom) {
- document.completerChamps.nomEntry.value=nom;
- document.completerChamps.goCompleterChamps.click();
- }
- </SCRIPT>
- ------------------------------------------------------------------------------------------
- <SELECT name="nomToDisplay" onChange="majEntryToDisplay(this.value);">
- <?php
- $select_annuaire=mysql_query("SELECT * FROM `annuaire` ORDER BY nom" );
- if (mysql_num_rows($select_annuaire) > 0)
- {
- while($row=mysql_fetch_row($select_annuaire))
- {
- if ($row[1]==$nom) {
- ?>
- <OPTION SELECTED><?php echo $row[1]; ?></OPTION>
- <?php
- }
- else {
- ?>
- <OPTION><?php echo $row[1]; ?></OPTION>
- <?php
- }
- }
- }
- ?>
- </SELECT>
- ------------------------------------------------------------------------------------------
- <div style="visibility:hidden;">
- <form name="completerChamps" method="post">
- <input type="text" name="nomEntry" value="">
- <input name="goCompleterChamps" type="submit" >
- </form>
- </div>
|
Si on met un alert(nom) dans la fonction majEntryToDisplay le alert s'ouvre mais n'affiche rien, j'en déduis donc que le this.value n'est pas passé.
Je sais, le mécanisme de passage de valeur est un peu "old school" mais je n'ai pas de notions d'Ajax ou quoi, je suis plutôt du genre POO...
Je fais comme ça parce qu'après on recharge cette page mais avec des données dans le $_POST et suivant ça, différents traitements se lancent.
Le truc c'est que j'aimerai bien que ça soit "dynamique", ie qu'il n'y ait pas besoin de cliquer quelque part d'autre que dans le SELECT, ça deviendra vite lourd pour les utilisateurs majoritairement sous IE 7 ...
Donc après le click, la page php vérifie $_POST['nomEntry'] et s'il existe et est non vide, moulinette.
Merci d'y jeter un oeil.
Message édité par ZeMuf91 le 27-08-2008 à 15:03:09
---------------
Cours CPF d'Anglais et FLE à Nantes et en ligne - qualiopi