启用禁用按键?

时间:2010-09-05 15:28:17

标签: jquery submit keypress

我正在尝试使用我的表单上的回车键阻止双重提交,但我似乎无法在提交数据后重新启用按键。这是我的代码的一部分:

$(".adauga-clasa").submit(function() {
  var adaugaClasa = $('input[type=text]', this);

  adaugaClasa.keypress(function(event) { if (event.keyCode == '13') { return false; } });

  $.ajax({
    type: "POST",
    url: "/clase/do-add",
    data: dataString,
    dataType: "json",
    success: function(data) {
      // this doesn't work
      adaugaClasa.keypress(function(event) { if (event.keyCode == '13') { return true; } });           
    }
});

3 个答案:

答案 0 :(得分:2)

你需要.unbind()上一个事件处理程序(仍然绑定,并且在你的新处理程序之前仍然返回false ),如下所示:

adaugaClasa.unbind('keypress');

有了这个,也不需要添加新的keypress处理程序,只需删除旧处理程序即可。

答案 1 :(得分:1)

为什么你没有布尔变量标志?

var form_submitted = False

在提交时将其设置为True,并在提交时进行检查。

答案 2 :(得分:0)

它不起作用,因为您没有取消绑定上一个功能。你只需添加一个新的。 您需要使用.unbind('keypress')