11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
Ma question concerne le code suivant :

<script type="text/javascript" src="./js/jquery.js"></script>
<script type="text/javascript">
function test_envoi()
{
    $(document).ready(function(){
        var champ = $('#champ').val();
        if (champ != '') {
            $('#test_form').submit();
        }
    });
}
</script>

<form action="test.php" method="post" id="test_form">
  <input type="text" name="test" id="champ" />
  <input type="submit" name="bouton_1" onmouseover="test_envoi()" value="bouton 1" />
  <input type="submit" name="bouton_2" onmouseover="test_envoi()" value="bouton 2" />
</form>

<?php
echo '<pre>'; 
print_r($_POST);
echo '</pre>';
?>


Ma question : je souhaiterai comprendre pourquoi lors de la validation du formulaire, je ne peux pas récupérer la valeur des boutons submit alors que si j'enlève le onmouseover cela fonctionne !

avec le onmouseover :

Array
(
    [test] => hello
)

sans le onmouseover :

Array
(
    [test] => hello
    [bouton_1] => bouton 1
)


Est-ce le comportement normal avec un onmouseover ???
A ceux qui vont me dire que dans cet exemple je pourrai récupérer le contenu de ces champ grace à jquery je dis ok, mais le problème se présente dans un formulaire plus complexe et avec un traitement différent.

Merci de vos réponses
Stéphane
Je ne comprend pas pourquoi tu veux utiliser un "onmouseover" pour l'envoi d'un formulaire... çà va à l'encontre de l'ergonomie ... imagine quelqu'un qui est pas trés doué pour le déplacement de souris, il veut cliquer sur ton dernier champ ou juste bouger la souris pour relire ce qu'il a écrit, et paf le pointeur tombe sur ton bouton -_- bah çà envoi ... fini pas fini t'es puni !

Juste un conseil Smiley cligne
pas d’inquiétude au niveau de l'envoi, il y a ce qu'il faut derrière au niveau javascript et justement tant que tout n'est pas correctement rempli, il n'y a pas d'envoi.
Ce que je veux dire c'est qu'il n'y a pas qu'un bête submit dans ma fonction d'envoi ce qui est le cas dans mon exemple histoire de faire simple.
Modifié par shiva (08 Dec 2011 - 17:37)