Page 1 sur 2
Probleme de Focus entre IE et FIrefox?
Posté : 14 sept. 2006, 15:48
par sasg
bonjour,
j'ai un formulaire et 3 boutons differents ( OK, stock et annuler)
j'aimerais bien que quand on fait "ENTRER" sur le clavier, que ce soit le OK qui soit valider!
Car quand je teste sur firefox, il fait bien ce que je veux alors que sur IE, il lance ANNULER
Donc si quelqu'un pourrait m'aider a resoudre ce probleme, il serait tres gentil

!
Merci
Posté : 14 sept. 2006, 17:18
par Ryle
A priori la touche "entrée" si tu es dans un champ autre que textarea va valider le formulaire comme si tu appuyais sur le bouton "submit" du formulaire (s'il n y a pas de bouton de type submit, aucune action n'a lieu)
De quel type est ton bouton annuler ? submit, reset ou button ?
Si c'est un submit, remplace le par button et spécifie l'action dans le onClick, cela devrait permettre au vrai (et seul) submit de s'exécuter à chaque fois

Posté : 15 sept. 2006, 09:45
par sasg
Je ne vois pas trop ce que tu veux dire, je suis un peu

en cette fin de semaine, c'est quel bouton que je dois changer?
<table width="100%" class="cadre">
<tr>
<td align="center" width="60%">
<!--------------------------- CONTENU ------------------------------>
<b>
<!----- Gestion matériel ----->
Matériel :
</b>
<select name="champ_materiel" style="width:75%">
<option value="" >(Aucun)</option>
<option value="2" >A</option
<option value="272" >B</option>
</select>
</td>
<td align="center" width="40%">
<b>
Numéro de série
:
</b>
<input type="text" name="num_serie" value="" onfocus="select();" size="20" maxlength="20">
</td>
</tr>
<tr>
<td align = "center" colspan=2>
<!----- Bouton OK ----->
<input type="submit" name="ok" class="bouton" value="Ok" onclick='return ValidationFormBtnOk(formMateriel);'>
<!----- Bouton stock ----->
<input type="submit" name="stock" class="bouton" value="Stock">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr><td align="center">
<!-- Bouton Annuler -->
<input type="submit" name="annuler" class="bouton" value="Annuler">
</td>
</tr>
<!--------------------------- CONTENU ------------------------------>
</table>
Merci
Posté : 15 sept. 2006, 09:54
par charabia

tiens de la lumière pour te réveiller lol
Tu n'as que 3 boutons
Ryle te demande de changer le bouton type submit de annuler, en type button + action

Posté : 15 sept. 2006, 10:22
par sasg
Posté : 15 sept. 2006, 10:36
par sasg
je vien d'essayer j'ai mis le bouton submit en bouton button

(sans pour l'instant mettre l'action)
il fait toujours la meme chose il ne selectionne pas le bouton submit OK
il fais comme si j'avais appuyer sur annuler!
Posté : 15 sept. 2006, 10:57
par charabia
Je viens de tester (en enlevant les onclick pour qu'il n'y ait pas de bug) sur IE. J'ai mis en type BUTTON le annuler et stock en ne laissant que OK en submit.
ça fonctionne. Normalement quand c'est de type BUTTON, la touche Entrée est inactive, et ne provoque pas l'envoi du formulaire.
Posté : 15 sept. 2006, 11:25
par sasg
Voila ce que j'ai fait, et j'ai toujours le meme resultat!
j'ai teste pour savoir ce qui passe en post (quand les boutons etaient tous en 'submit') en faisant 'enter' et pas click de souris et rien ne passe ni de ok ni de stock ni de annuler!
<table width="100%" class="cadre">
<tr>
<td align="center" width="60%">
<!--------------------------- CONTENU ------------------------------>
<b>
<!----- Gestion matériel ----->
Matériel :
</b>
<select name="champ_materiel" style="width:75%">
<option value="" >(Aucun)</option>
<option value="2" >DOLPHIN 7400</option>
<option value="272" >DOLPHIN 7400 GPRS</option>
</select>
</td>
<td align="center" width="40%">
<b>Numéro de série:</b>
<input type="text" name="num_serie" value="" size="20" maxlength="20">
</td>
</tr>
<tr>
<td align = "center" colspan=2>
<!----- Bouton OK ----->
<input type="submit" name="ok" class="bouton" value="Ok">
<!----- Bouton stock ----->
<input type="button" name="stock" class="bouton" value="Stock">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr>
<td align="center">
<!-- Bouton Annuler -->
<input type="button" name="annuler" class="bouton" value="Annuler">
</td>
</tr>
<!--------------------------- CONTENU ------------------------------>
</table>
Et sur firfox ca passe nickel!
Posté : 15 sept. 2006, 11:28
par charabia
Alors là je ne comprend pas...Je suis sur IE, j'ai repris texto ton code, ça fonctionne, c'est toujours le bouton OK qui est actif en premier.
Je me dit bon peut-être que IE prend le premier bouton, alors je change le bouton OK de place et je le met après Stock. Pareil, c'est le bouton OK qui est pris en premier...
Posté : 15 sept. 2006, 14:31
par sasg
regarde la difference dans l'url,( je les passe en get) entre firefox et IE, qund tu fais enter sur firefox on a le contenu de la liste-box , du champ texte et le bouton ok, alors que dans IE on a pas le bouton ok alors que j'en ai besoin pour pouvoir savoir ce que je dois faire
<html>
<head>
</head>
<body>
<form method="get" action="btn.html">
<table width="100%" class="cadre">
<tr>
<td align="center" width="60%">
<!--------------------------- CONTENU ------------------------------>
<b>
<!----- Gestion matériel ----->
Matériel :
</b>
<select name="champ_materiel" style="width:75%">
<option value="" >(Aucun)</option>
<option value="a" >A</option>
<option value="b" >B</option>
</select>
</td>
<td align="center" width="40%">
<b>
Numéro de série
:
</b>
<input type="text" name="num_serie" value="" size="20" maxlength="20">
</td>
</tr>
<tr>
<td align = "center" colspan=2>
<!----- Bouton OK ----->
<input type="submit" name="ok" class="bouton" value="Ok">
<!----- Bouton stock ----->
<input type="submit" name="stock" class="bouton" value="Stock">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%">
<tr><td align="center">
<!-- Bouton Annuler -->
<input type="submit" name="annuler" class="bouton" value="Annuler">
</td>
</tr>
<!--------------------------- CONTENU ------------------------------>
</table>
</form>
</body>
</html>
Posté : 15 sept. 2006, 14:39
par sasg
il ya pas moyen de dire que si je tape sur la touche 'enter' je fais le bouton ok en javascript?
Posté : 15 sept. 2006, 14:41
par charabia
Très space...Toujours avec ton dernier code, ça fonctionne.
Sur IE j'ai : btn.html?champ_materiel=a&num_serie=dza
Sur FF : btn.html?champ_materiel=a&num_serie=dza&ok=Ok
Donc tes variables passent bien en GET sur mes deux navigateurs...
Posté : 15 sept. 2006, 14:48
par sasg
les variables ok mais pas le bouton ok et j'en ai besoin pour savoir quoi faire pour la suite
j'ai trouve ca en cherchant sur le net:
OnKeyPress
"window.event.keyCode == 13" = touche "entrer" du clavier
il y aurait pas moyen de faire script avec ca, j'y connais vraiment pas grand en javascript?

Posté : 15 sept. 2006, 14:59
par charabia
Houlà pfiouuu c'est comprendu enfin...Là je ne peux pas trop t'aider sur ce coup. Attendons les expert javascript
désolé
Posté : 15 sept. 2006, 15:05
par sasg
en tout cas merci a toi, de m'avoir repondu toujours rapidement et merci pour ton aide