将ID传递给jQuery对话框时,表单未定义

时间:2013-03-24 20:53:08

标签: jquery

我正在尝试提交一个显示在jQuery对话框中的表单。但是,我无法将表单的ID传递到对话框窗口。以下是Chrome显示的输出:

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

我知道答案必须明显,但我无法理解为什么“frmDecline1”不能用于JavaScript函数?

$(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>

2 个答案:

答案 0 :(得分:2)

基本上你选择语句有点偏。

阅读本文:

W3Schools jQuery Selectors

并改变这一点:

frmDecline1.submit();

对此:

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

以下是fiddle

答案 1 :(得分:0)

您只需创建名称与其id匹配的变量即可访问表单。你有几个选择。

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