2010-03-11 170 views
1

表單按鈕,阿賈克斯,輸入密鑰,表單提交

我有上面的一個頁面,如果我點擊按鈕,我的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); 

} 

//--> 

回答

3

你有你的表單標籤的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

0

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>