Pbm remplacement submit par button

Résolu
Hades51 Messages postés 36 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 23 mars 2005 - 22 mars 2005 à 11:47
Hades51 Messages postés 36 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 23 mars 2005 - 23 mars 2005 à 13:03
Bonjour,

Afin d'éviter les appuis "accidentels" sur la touche "entrée" dans un formulaire j'ai remplacé tous mes bouttons "submit" par des boutton "button" avec un onClick="form.submit();"

mais depuis ça marche plus, en effet si je fait un print_r($_POST) la variable qui a le nom de mon boutton n'est plus enregistrée ce qui fait que le formulaire se rafraichit bien mais qu'aucune action n'est effectuée...

exemple
avant :

après

Il me semble avoir déjà fait ça et que ça marchait nickel... je pige pas trop si qqun a une idée elle est la bienvenue.

Cdt

13 réponses

tardigrade Messages postés 208 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 décembre 2008
22 mars 2005 à 23:35
tu peux optimiser ton code javascript. Si j'ai bien compris c'est un truc comme ca



<?php

if(isset($_POST['submit']))

{

switch($_POST['submit'])

{

case 'Verso':

print('bouton Verso cliqué');

break;

case 'Recto':

print('bouton Recto cliqué');

break;

}

}

?>



<script language="javascript" type="text/javascript">


function validation(bouton) {

document.getElementById("
submit").value=
bouton.value
;



document.getElementById("
formulaire").submit();



}


</script>

<form id="formulaire" action="POST">









</form>



code non teste



cela dit je ne comprend toujours pas pourquoi tu veux faire ca. on peut
toujours cliquer sur le bouton accidentellement... faudrait confirmer
l'action soit en php soit en javascript avec un confirm()



je crois qu'un input de type button n'est pas transmis par formulaire (c'est pour cette raison que tu ne voyais plus la variable dans $_post) et pour le input de type submit seule le submit cliqué est passe par formulaire



donc je ferais:



<?php

if(isset($_POST['submit']))

{

switch($_POST['submit'])

{

case 'Verso':

print('bouton Verso cliqué');

break;

case 'Recto':

print('bouton Recto cliqué');

break;


}

}

?>



<script language="javascript" type="text/javascript">


function validation() {

if(confirm('Etes vous bien sur?'))

return true;

else

return false;




}


</script>

<form action="POST">





submit" value="Recto" onClick="return validation();">

</form>
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
22 mars 2005 à 12:17
A priori c'est this.form.submit()



Ceci dit, ca ne va pas empecher la possibilite d'appuyer sur entree.
0
Hades51 Messages postés 36 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 23 mars 2005
22 mars 2005 à 12:45
ben qu and tu fais un formulaire et que tu cliques sur un endroit du formulaire ou il y a pas de input et que tu fais entree ... il execute le premier <input type=submit qu'il trouve donc ça devrai pallier à ce problème. En tout cas je teste ça dans 20 min et je te dis si ça change qqchose.

Merci en attendant
0
Hades51 Messages postés 36 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 23 mars 2005
22 mars 2005 à 13:07
bon toujours pas :'( la variable du boutton n'est toujours pas initialisée.. d'ailleur elle ne sort meme pas à vide dans mon print_r($_POST);

help me
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lenuldeservice Messages postés 23 Date d'inscription jeudi 9 novembre 2000 Statut Membre Dernière intervention 22 mars 2005 2
22 mars 2005 à 15:17
pourquoi tu ne fais pas un truc du genre:



<script language="javascript" type="text/javascript">

function validation() {

document.form.submit();

}

</script>





ou alors j'ai pas compris le pb!!!




<hr style="width: 100%; height: 2px;">

Si tu trouves qu'une réponse correspond à ta question accèpte-la,

ça peut aider d'autres personnes
0
lenuldeservice Messages postés 23 Date d'inscription jeudi 9 novembre 2000 Statut Membre Dernière intervention 22 mars 2005 2
22 mars 2005 à 15:18
pourquoi tu ne fais pas un truc du genre:



<script language="javascript" type="text/javascript">

function validation() {

document.form.submit();

}

</script>





ou alors j'ai pas compris le pb?




<hr style="width: 100%; height: 2px;">

Si tu trouves qu'une réponse correspond à ta question accèpte-la,

ça peut aider d'autres personnes
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
22 mars 2005 à 16:22
y a quoi dans l'action de ton formulaire ?
0
tardigrade Messages postés 208 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 décembre 2008
22 mars 2005 à 17:40
return true; else return false;
">



sinon le button ne sera pas envoye au serveur pour contourne le prob





<script language="javascript" type="text/javascript">

function validation() {

document.form.submit();

}

</script>
0
tardigrade Messages postés 208 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 décembre 2008
22 mars 2005 à 17:45
juste que je prefere le dom:


function validation() {

document.getElementById("monform").submit();

}
0
Hades51 Messages postés 36 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 23 mars 2005
22 mars 2005 à 21:50
oui tu as raison tardigrade il faut déclarer un hidden du meme nom que le boutton pour que ça marche, par contre je suis pas sur que si on a plusieurs boutton avec des noms différents ça fonctionne...
0
Hades51 Messages postés 36 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 23 mars 2005
22 mars 2005 à 23:42
Explication de pourquoi je fais ça :o)

imagine un truc du style :

<form....>

</form>

Si un utilisateur tapes un texte dans le input type="text" et fait "Entrée", ça envoi le formulaire ;'( et crois moi ça arrive souvent.

Par contre ta dernière idée à l'air pas mal du tout, faut que je trouve le courage de tester ça :o)

J'accepte ta réponse car elle me semble vraiment pas mal.

Merci à toi
0
tardigrade Messages postés 208 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 décembre 2008
23 mars 2005 à 11:41
ne saurait il pas possible de gerer ca avec onkeydown onkeypress ou onkeyup afin d'inactiver le code asccii 13?
0
Hades51 Messages postés 36 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 23 mars 2005
23 mars 2005 à 13:03
si aussi bien sur.
0
Rejoignez-nous