当我使用window.jkey()结束键提交表单时发生多个表单提交

时间:2014-06-02 21:10:51

标签: jquery codeigniter

我遇到了一个令我头疼的问题。我正在使用此函数使用codeigniter提交表单以完成销售交易。为此,我使用jquery密钥插件将表单提交为" end"键是按下的。这是它的代码:

$(window).jkey('end',function(){
    $('#complete_sale_form').submit();
});

请有人帮我解决问题,如果有人意外按下键盘上的END键或多次按下它多次,多次销售被插入数据库。

2 个答案:

答案 0 :(得分:0)

我不熟悉“jkey”,但以下内容可能适合您:)

var pressed = false;
$(document).keydown(function(e){
   if(e.keyCode == 35){ //end key
      if(pressed === false){
          $('#complete_sale_form').submit();
          pressed = true;
          }
      }
   });

此网站提供了一种获取您正在寻找的密码的互动方式:https://www.west-wind.com/WestwindWebToolkit/samples/Ajax/Html5AndCss3/KeyCodeChecker.aspx

答案 1 :(得分:0)

您可以使用变量来检查表单是否先前已提交过。

var formSubmitted = false;
$(window).jkey('end',function(){
 if(formSubmitted) return;
  formSubmitted = true;
  $('#complete_sale_form').submit(); 
});