-1

有一个表格和一个按钮。

<a href="javascript:myFunc();">submit</a> 
<script>
function myFunc()  
{  
   //some actions here  
   var myForm = document.getElementById(formId);
   myForm.submit();  
}  
</script>

现在我想绑定另一个函数来提交表单的事件而不修改第一部分:

<script>  
    $('formSelector').on('submit', function(){
         alert(123);
    });
</script>  

不执行上述功能。表单由提交表单之前myFunc()
有没有办法alert(123)提交?

UPD:myFunc()。抱歉,是我的错

4

3 回答 3

0

在这种情况下,最好的做法是增加自定义事件,比如

 function myFunc()  
{  
   //some actions here  
   $('formSelector').submit().trigger('customSubmitEvent');  
}  

然后收听相同的事件:

<script>  
    $('formSelector').on('customSubmitEvent', function(){
        alert(123);
    });
</script> 
于 2013-08-26T12:54:31.377 回答
0

也许您可以尝试监听 a 元素的“onclick”事件。但是,使用 href attr 调用任意函数并不是一个好习惯。

<a id="forsubmitter" href="#">submit</a> 
<script>
jQuery(document).on('click','#formsubmitter',function() {
   if (myFunc()) {
        alert('conditions met, submitting');
        $('formSelector').submit();  
    } else {
        alert('conditions not met, but submitting anyway!');
        $('formSelector').submit();  
    }
});
function myFunc()      {  
    if (some conditions are met) {
        return true;
    } else {
        return false;
    } 
}  
</script>
于 2013-08-26T12:59:30.163 回答
0

您可能在 DOM 准备好之前分配提交处理程序,并且选择器与任何表单都不匹配。尝试使用 DOM 就绪函数包装事件处理程序:

$(function() {
    $('formSelector').on('submit', function(){
        alert(123);
    });
});
于 2013-08-26T13:09:16.307 回答