Javascript jQuery在表单上按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

我有一个表单,如果我单击提交它的按钮,它当前不会刷新页面。但是如果在文本输入被聚焦时按Enter键,它将刷新页面。有没有办法使文本输入时按enter键与按钮的作用相同,这样页面就不会刷新

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