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

基本上你的select语句有点不对劲。

读这个:

W3Schools jQuery 选择器

并改变这个:

frmDecline1.submit();

对此:

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

这是它的小提琴

于 2013-03-24T20:56:06.227 回答
0

您不能通过简单地创建一个名称与其匹配的变量来访问表单id。你有几个选择。

您可以通过 jQuery 访问表单:$("#frmDecline1")或者您可以通过纯 javascript 访问它:document.forms["frmDecline1"];

于 2013-03-24T21:00:48.117 回答