如何收听提交活动。

时间:2013-05-02 04:25:41

标签: jquery events asynchronous polling

您好,我想知道如何判断事件是否在2.5秒内触发。

这是其他开发人员编写的外部函数。

function validateAndSubmit() { 
    if (validateRule(document.getElementById("inputElem").value) {
        document.form.submit;
    } else {
        alert ("Value is wrong");
    }
} 

<input type="button" onclick="validateAndSubmit();" id="updatePage"/>

我有一个jquery监听器。

 $("#updatePage").click(function() {
      popupWaitingDialog();
      setTimeout(function() {
            // insert code to see if submit was fire causing page to load or unload. 
            hideWaitingDialog();
      }, 2500); 
 });

我有一个等待对话框显示,如果验证失败,我希望能够隐藏它。我知道验证失败的唯一方法是提交或重新加载事件是否触发。

1 个答案:

答案 0 :(得分:1)

将弹出窗口添加到提交功能:

function validateAndSubmit() { 
    if (validateRule(document.getElementById("inputElem").value) {
        popup WaitingDialog();
        document.form.submit();
    } else {
        alert ("Value is wrong");
    }
} 

然后,您可以删除click处理程序。或者,您可以保留click处理程序并在那里添加验证代码检查:

$("#updatePage").click(function() {
    popupWaitingDialog();
    validateAndSubmit(); // Doesn't return unless validation fails
    hideWaitingDialog();
});