Javascript jQuery在表单上按enter键不刷新页面?
我有一个表单,如果我单击提交它的按钮,它当前不会刷新页面。但是如果在文本输入被聚焦时按Enter键,它将刷新页面。有没有办法使文本输入时按enter键与按钮的作用相同,这样页面就不会刷新Javascript jQuery在表单上按enter键不刷新页面?,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我有一个表单,如果我单击提交它的按钮,它当前不会刷新页面。但是如果在文本输入被聚焦时按Enter键,它将刷新页面。有没有办法使文本输入时按enter键与按钮的作用相同,这样页面就不会刷新 function redeemTokens() { var code = $("#code").val(); $.post("_post_redeemtokens.php", { code: code }, function(data) { $('#resultRedeemTokens').fa
function redeemTokens() {
var code = $("#code").val();
$.post("_post_redeemtokens.php", { code: code },
function(data) {
$('#resultRedeemTokens').fadeIn('slow').html(data);
});
}
<form method="post">
<input id="code" name="code" type="text" placeholder="Code">
<input type="button" onclick="redeemTokens();" value="Redeem" />
</form>
函数兑换代币(){
var代码=$(“#代码”).val();
$.post(“\u post\u receiveTokens.php”,{code:code},
功能(数据){
$('resultreedeemtokens').fadeIn('slow').html(数据);
});
}
感谢您在advanced中的帮助 对表单使用提交处理程序,并从中返回false以防止默认提交 此方法将数据保存在表单提交上-即单击提交按钮以按enter键
<form method="post" onsubmit="redeemTokens(); return false">
<input id="code" name="code" type="text" placeholder="Code">
<input type="submit" value="Redeem" />
</form>
或者,这仅在单击按钮时保存,但在按enter键时阻止表单提交
<form method="post" onsubmit="return false">
<input id="code" name="code" type="text" placeholder="Code">
<input type="button" onclick="redeemTokens();" value="Redeem" />
</form>
注意:由于您使用的是jQuery,建议使用jQuery事件处理程序而不是内联事件处理程序
$('body').keyup(function (event) {
if (event.keyCode == '13') {
$("form").submit ();
// or call redeemTokens directly
}
return false;
});
这个怎么样?在文本字段中按[enter]类似于单击[tab]键
/* prevent Enter as Submit (on textboxes) and, instead, tab to the next field */
$("input").keypress(function(event) {
"use strict";
if (event.keyCode == 13)
{
event.preventDefault();
var inputs = $(this).parents("form").eq(0).find(":input");
var idx = inputs.index(this);
if (idx == inputs.length - 1)
{
inputs[0].select()
}
else
{
inputs[idx + 1].focus();
inputs[idx + 1].select();
}
return false;
}
});
谢谢兄弟,我10分钟后来接你。
/* prevent Enter as Submit (on textboxes) and, instead, tab to the next field */
$("input").keypress(function(event) {
"use strict";
if (event.keyCode == 13)
{
event.preventDefault();
var inputs = $(this).parents("form").eq(0).find(":input");
var idx = inputs.index(this);
if (idx == inputs.length - 1)
{
inputs[0].select()
}
else
{
inputs[idx + 1].focus();
inputs[idx + 1].select();
}
return false;
}
});