返回时启动jquery函数
我有一个简单的表单,当按下submit按钮时,它触发一个jQueryAjax请求,查询数据库并返回一些基本文本 它的工作很好,但我想做的是有进入按钮也提交表单,这似乎很容易,但它不适合我 表格如下:返回时启动jquery函数,jquery,Jquery,我有一个简单的表单,当按下submit按钮时,它触发一个jQueryAjax请求,查询数据库并返回一些基本文本 它的工作很好,但我想做的是有进入按钮也提交表单,这似乎很容易,但它不适合我 表格如下: <form method="post" action="" name="statusform" id="statusform"> <fieldset id="quote_reference"> <legend>Che
<form method="post" action="" name="statusform" id="statusform">
<fieldset id="quote_reference">
<legend>Check Quote Status:</legend>
<div id="enter_ref_div">
<br />
<br />
<br />
<br />
<label for="reference" accesskey="R">Your Reference Number:</label>
<input name="ref" id="ref" type="text" size="5" value="" /> <br /><br />
<button type="button" id="checkStatus" class="calc_btn">Check Status</button><div id="loader"><img class="loader_gif" src="assets/ajax-loader.gif" /></div>
</div>
</fieldset>
<fieldset id="quote_status_div">
<legend>Your Quote Status:</legend>
<div id="status_result"></div>
</fieldset>
</form>
现在,我只想在按下回车键时模拟上述功能。下面是我正在尝试的代码:
$(document).keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
var refNo = $("#ref").val();
$('#loader').fadeIn('fast');
$.ajax({
type: "POST",
url: "functions/functions.php",
data: "ref_no="+ refNo,
success: function(data){
$('#loader').fadeOut('fast');
$('#quote_reference').slideUp('fast');
$('#status_result').html(data);
$('#quote_status_div').slideDown('fast');
}
});
}
}))
我在互联网上找到的所有信息都告诉我这应该行得通。你能帮我解释一下吗
感谢更改按钮以提交并使用提交方法
$('#checkStatus').submit(function() {
// do ajax call here
// ...
return false;
}))
不要忘记:
返回false
阻止发送更改按钮提交并使用提交方法
$('#checkStatus').submit(function() {
// do ajax call here
// ...
return false;
}))
不要忘记:
返回false
阻止发送尝试这种方法。。按Enter键时触发单击事件。。不需要重新编写代码
$(document).keypress(function(event){
event.preventDefault();
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
$('#checkStatus').click();
}
});
放置警报,并检查在按下enter键时是否看到该警报。。检查控制台部分中是否有任何错误
还可以尝试使用.on()将事件附加到元素
$(document).on('keypress' ,function(event){
$('#checkStatus').on('click' , function() {
试试这个方法。。按Enter键时触发单击事件。。不需要重新编写代码
$(document).keypress(function(event){
event.preventDefault();
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
$('#checkStatus').click();
}
});
放置警报,并检查在按下enter键时是否看到该警报。。检查控制台部分中是否有任何错误
还可以尝试使用.on()将事件附加到元素
$(document).on('keypress' ,function(event){
$('#checkStatus').on('click' , function() {
如果要阻止表单正常提交,需要在检查是否为enter键后调用event.PreventDefault()。需要做的一件事是调用event.PreventDefault()检查是否为enter键后,如果要阻止表单正常提交。感谢您的支持,它会触发onclick事件,但会阻止表单中的任何文本输入?我想出来了,我移动了“event.preventDefault();”在'if(keycode=='13'){'内部,现在可以工作了。感谢您的帮助Guysthans,它触发onclick事件,但阻止表单中的任何文本输入?我弄明白了,我移动了'event.preventDefault();'inside'if(keycode=='13'){'内部,现在可以工作了。感谢您的帮助