Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery Mobile和IE上单击事件激发两次_Javascript_Jquery_Html_Internet Explorer_Jquery Mobile - Fatal编程技术网

Javascript 在jQuery Mobile和IE上单击事件激发两次

Javascript 在jQuery Mobile和IE上单击事件激发两次,javascript,jquery,html,internet-explorer,jquery-mobile,Javascript,Jquery,Html,Internet Explorer,Jquery Mobile,我有一个jQuery移动应用程序,它依赖于弹出窗口来运行考勤系统。除了Windows 8+上的IE 9+版本外,该系统工作正常 当按下在客户机上签入/签出的按钮时,POST请求将发送到处理程序页面以管理请求(即验证数据、输入数据库),然后再转发到相关的客户机条目 看起来发生的是按钮事件被触发了两次。第一次被标记为“中止”(如F12开发者工具的Result列所示),然后再次调用(我会发布图像,但没有足够的声誉)。然而,调用似乎正在进入处理程序页面,尽管被认为已中止,因为数据库中出现了两个条目 按钮

我有一个jQuery移动应用程序,它依赖于弹出窗口来运行考勤系统。除了Windows 8+上的IE 9+版本外,该系统工作正常

当按下在客户机上签入/签出的按钮时,POST请求将发送到处理程序页面以管理请求(即验证数据、输入数据库),然后再转发到相关的客户机条目

看起来发生的是按钮事件被触发了两次。第一次被标记为“中止”(如F12开发者工具的
Result
列所示),然后再次调用(我会发布图像,但没有足够的声誉)。然而,调用似乎正在进入处理程序页面,尽管被认为已中止,因为数据库中出现了两个条目

按钮的代码如下所示:

<button data-inline="true" data-mini="true" data-theme="b" data-ajax="false" id="submitBtn" onClick="this.form.submit(); this.disabled=true;">Check Out / Split Visit</button>
标题代码:

<!DOCTYPE html>
<html>
    <head> 
        <title>SMNCC App</title> 
        <meta http-equiv="X-UA-Compatible" content="IE=Edge">
        <meta name="viewport" content="width=device-width, initial-scale=1"> 
        <link rel="shortcut icon" href="https://portal.suemann.com.au/favicon.ico" />

        <!-- <script type="text/javascript" src="./js/timeTrack.js"></script>!-->
        <script type="text/javascript" src="./js/readNewsItem.js"></script>

        <link rel="stylesheet" href="./jqueryMobile/jquery.mobile.min.css" /> <!-- Original File: jquery.mobile-1.3.2.min.css !-->
        <link rel="stylesheet" href="./themes/hartijaPrint.css" type="text/css" media="print"> <!-- Hartija print CSS framework !-->
        <script type="text/javascript" src="./jqueryMobile/jquery.min.js"></script> <!-- Original File: jquery-1.10.2.min.js !-->

        <script type="text/javascript" src="./jqueryMobile/disableAjax.js"></script>

        <script type="text/javascript" src="./jqueryMobile/jquery.mobile.min.js"></script> <!-- Original File: jquery.mobile-1.3.2.min.js !-->      

    </head> 
    <body

SMNCC应用程序

我没有运行Windows 8,因此无法测试它,但您可以使用jQuery检查按钮是否已按下

例如:Html代码:

<button id="mybutton">Click me!</button>

当然,这假设当您说按钮触发两次时,您的意思是click事件正在运行两次。如果单击事件仅触发一次,但发送请求触发两次,则代码将不起作用。

IE错误。。。这是开发者最糟糕的噩梦:-)告诉我吧。。。网络开发不是我“正常”的日常工作,这是有原因的!这正是正在发生的事情——“单击”事件被触发两次——第一次“中止”,第二次正常完成。我将尝试你的代码并报告回来!工作就像做梦一样-谢谢Nathan!
<button id="mybutton">Click me!</button>
var alreadySent = false;
$(document).ready(function() {
  $("#myButton").click(function(event) {
    event.preventDefault();
    if (!alreadySent) {
      sendPostRequestOrWhatever();
      alreadySent = true;
    }
    $(this).prop("disabled", true);
  });
});