表单按钮,阿贾克斯,输入密钥,表单提交

问题描述:

表单按钮,阿贾克斯,输入密钥,表单提交

我有上面的一个页面,如果我点击按钮,我的ajax函数工作正常。然而,如果我按“输入”,表单提交但没有任何反应 - 毫无疑问,因为该功能被称为“onclick”

有没有什么方法可以改变这个,所以用户可以点击按钮,或按键盘,并将表单正确提交给Ajax?

感谢


更新:

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); 

} 

//--> 

你有你的表单标签的onsubmit事件。它在表单提交时被提出(所以当你按回车时)。

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

+1

并使按钮的类型为'submit'。 – Anurag 2010-03-11 10:33:11

+0

请参阅在原来的职位 我想我现在需要更新我的阿贾克斯上述变化更新的代码,而合乎逻辑的,由应用程序停止工作 感谢 – user19284129 2010-03-11 10:52:47

JavaScript有一个方法onKeyDown和使用,你可以捕捉回车键点击。

<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>