-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

おそらく、a 要素の「onclick」イベントをリッスンしてみてください。ただし、 href 属性を使用して任意の関数を呼び出すことはお勧めできません。

<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 Ready 関数でイベント ハンドラーをラップしてみてください。

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