2010-03-11 10 views
1

bouton de formulaire, ajax, entrer la clé, la forme soumettre

J'ai ci-dessus sur une page, si je clique sur le bouton, ma fonction ajax fonctionne très bien. cependant, si j'appuie sur "enter", le formulaire est soumis mais rien ne se passe - aucun doute car la fonction est appelée "onclick"

est-il possible de changer cela pour que l'utilisateur clique sur le bouton, ou appuie sur entrée sur le clavier, et avoir le formulaire soumettre à ajax correctement?

grâce


mise à jour:

ajaxRequest.onreadystatechange = function(){ 
     if(ajaxRequest.readyState == 4){ 
      var ajaxDisplay = document.getElementById('ajaxDiv'); 
      ajaxDisplay.innerHTML = ajaxRequest.responseText; 
     } 
    } 
    var gold = document.getElementById('gold_amount').value; 
    var carat = document.getElementById('carat').value; 

    var queryString = "?gold=" + gold + "&carat=" + carat; 
    ajaxRequest.open("GET", "script.php" + queryString, true); 
    ajaxRequest.send(null); 

} 

//--> 

Répondre

3

vous avez l'événement onsubmit sur votre balise form. il est levé lorsque le formulaire est soumis (donc aussi quand vous appuyez sur Entrée).

http://www.w3schools.com/jsref/event_form_onsubmit.asp

+1

et que le type du bouton soit 'submit'. – Anurag

+0

s'il vous plaît voir le code mis à jour dans le message original je pense que je dois mettre à jour mon ajax maintenant que les changements ci-dessus, tout en logique, fait l'application cesser de fonctionner merci – user19284129

0

Javascript a une méthode onKeyDown et que vous pouvez capturer un clic Entrez la clé.

<body> 
<form action="" method="POST" id="myForm"> 
<input type="text" name="myText" onKeyDown="changeVal()"> 

<script type="text/javascript" language="JavaScript"> 
s1 = new String(myForm.myText.value) 

function changeVal() { 
    s1 = "You pressed a key" 
    myForm.myText.value = s1.toUpperCase() 
} 

</script> 
</form> 
</body> 
Questions connexes