1

次のコードがフォームをポップアップに送信できない理由を誰か教えてもらえますか? リンクをクリックすると、フォームがポップアップに送信されます

$(".myClass").click(function () 
    {
        var myVar = $(this).attr("rel");
        //$(this).closest("form").submit();


        $("#form_id"+myVar).submit(function() 
        {
            window.open('', 'formpopup', 'width=700,height=550,resizeable,scrollbars');
            this.target = 'formpopup';
        });     

    return false;
    })  

ポップアップオプションを削除して、 $(this).closest("form").submit(); だけを持っている場合 できます。しかし、そのままでは失敗します。考えや提案はありますか?firebugにjsエラーはありません。

注: 現時点では、モーダル ウィンドウを使用したくないため、モーダルの提案はご遠慮ください。

4

1 に答える 1

2

実際にフォームを送信することはありません。submitイベント ハンドラーをバインドするだけです。submitまたはを使用triggerして、実際にsubmitイベントをトリガーできます。

$("#form_id"+myVar).submit(function() {
    window.open('', 'formpopup', 'width=700,height=550,resizeable,scrollbars');
    this.target = 'formpopup';
}).submit(); //Submit the form after binding event handler

コメントアウトされた への呼び出しはsubmit、イベント ハンドラーがフォームにバインドされる前に発生するため、決して実行されません。

于 2012-06-07T08:28:52.147 に答える