0

jQueryダイアログボックスに表示されるフォームを送信しようとしています。ただし、フォームのIDをダイアログウィンドウに渡すのに問題があります。Chromeによって表示される出力は次のとおりです。

http://i.stack.imgur.com/1EIa1.png

答えは明白でなければならないことは知っていますが、JavaScript関数で「frmDecline1」を使用できない理由を理解できません。

$(function(){
        // Dialog           
        $('#dialog1').dialog({
            autoOpen: false,
            width: 500,
            modal: true,
            buttons: {
                "Ok": function() { 
                    frmDecline1.submit();
                    $(this).dialog("close"); 
                }, 
                "Cancel": function() { 
                    $(this).dialog("close"); 
                } 
            }
        });

        // Dialog Link
        $('#dialog_link1').click(function(){
            $('#dialog1').dialog('open');
            return false;
        }); 
    });

<div id="dialog1" title="Decline Record">
        <p>Please enter your reason for declining this record below</p>
        <form id="frmDecline1" name="frmDecline1" method="post" action="index.asp?decline=1,ClockNo=1,JobNo=1">
        <textarea name="txtDecline1" cols="40" rows="4"></textarea>
        <br>
      </form>
</div>

<a href='#' id='dialog_link1'> Decline </a> <br> <br>

4

2 に答える 2

2

基本的に、ステートメントを選択すると少しずれます。

これを読む:

W3SchoolsjQueryセレクター

そしてこれを変更します:

frmDecline1.submit();

これに:

$("#frmDecline1").submit();

これがそのフィドルです。

于 2013-03-24T20:56:06.227 に答える
0

に一致する名前の変数を作成するだけでは、フォームにアクセスできませんid。いくつかのオプションがあります。

jQuery:を介してフォームに$("#frmDecline1")アクセスするか、プレーンjavascriptを介してフォームにアクセスできます。document.forms["frmDecline1"];

于 2013-03-24T21:00:48.117 に答える