[英]How do I use JavaScript or jQuery to submit a form by using the Enter key, when not the default form action
我有一個頁面,其中包含對用戶顯而易見的三個“表單”。 在后台,頁面只有一個表單,使用html:form作為控制整個頁面的JSP對象。 當用戶單擊用於單個提交按鈕的圖像時,它將觸發onClick()函數,該函數繞過表單的操作並執行另一個操作。
<html:form action="foo.do">
<html:text property="name" styleClass="input" />
<img src="bar.jpg" onClick="myFunction();" />
</html:form>
<script>
function myFunction(){
document.forms[0].action = "realPage.do";
document.forms[0].submit();
}
</script>
該腳本可以正常工作,而不是將用戶發送到默認的“ foo.do”,而是發送給函數的目標地址(realPage.do)
但是,問題是我的用戶希望僅通過在想要提交的特定“表單”字段中的任何一個字段中單擊鍵盤上的“ Enter”就可以提交表單。 如何使用JavaScript或jQuery識別用戶所在的“表單”,從而識別用戶所在的輸入字段,並檢測按下“ Enter”鍵並使用與按鈕相同的功能提交?
這應該可以解決您的問題
$(document).ready(function(){
$("input").keyup(function (e) {
if (e.keyCode == 13) {
// Submit your form here
}
});
});
我可能會逮捕表單提交並檢測哪個元素具有焦點。 諸如此類,每個偽表單都有一個已標識的包裝器元素:
$(function() { // document.ready
$('#myform').submit(function(event) {
event.preventDefault();
if ( $('#pseudoForm1 input').is(':focus') ) { ... }
else if ( $('#pseudoForm2 input').is(':focus') ) { ... }
else if ( $('#pseudoForm3 input').is(':focus') ) { ... }
});
});
您可以從這里開始-
$('input').keypress(function(e) {
if(13 == e.keyCode) {
var closestForm = $(this).closest('form');
$(closestForm).submit();
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.