基本的jQuery弹出多种形式

时间:2010-11-08 20:58:06

标签: jquery jquery-forms-plugin jqueryform

我正在尝试创建一个对话框弹出框,其中包含2个表单。弹出窗口效果很好,但在对话框中我有2个表单,每个表单都有不同的操作。

我正在使用jQuery表单插件,提交表单并显示对#showResponse的回复

我遇到的问题是每当我点击其中任何一个表格时,它会加载#showResponse中的第一个表单,而我不确定为什么......

这是我的Javascript代码

$(".formFill2").validate({
    submitHandler: function (form) {
        $(form).ajaxSubmit({
            target: "#submitResponse",
            success: function (responseText, statusText, xhr, form) {
                $("#submitResponse").show('slow');
                $('#submitResponse').delay(4000).fadeOut('slow');

            },
            error: function (responseText, statusText, xhr, form) {
                alert("Oops... Looks like there has been a problem.");
            }
        });
        return false;
    }
});   

这是我的对话窗口中的HTML。

<fieldset><legend>Email this PDF to</legend>
                  <form class="formFill2" name="emailPDF" id="emailPDF" action="classes/class.Post.php?a=notifyForm" method="post">
                    <label for="email1">Email 1</label>
                    <input name="email1" type="text" value="<?php echo $_SESSION['myEmail']; ?>"><br />

                    <input type="submit" value="Send Emails">
                  </form>    
                  </fieldset>

                  <fieldset><legend>Fax this PDF to</legend>
                  <form class="formFill2" name="faxPDF" id="faxPDF" action="classes/class.Post.php?a=faxFile" method="post">
                    <label for="faxNumber">Fax #</label>
                    <input name="faxNumber" type="text" ><br />

                    <input type="submit" value="Send Fax">
                  </form>    
                  </fieldset>

任何帮助都会令人感激。

1 个答案:

答案 0 :(得分:1)

我在这里推测一下,但它可能是形式验证器中的错误。

可能是Validate插件使用原始CSS选择器(.formFill2)以获取submitHandler函数的参数。如果他们使用类似get(0)的内容,那么它将始终返回由.formFill2发现的第一个DOM对象 - 第一个表单。

如果console.log传递给submitHandler的'form'参数,你会得到正确的表格吗?

如果它始终为您提供第一个表单,您可能需要尝试以下内容:

var submitHandler = function(form) {
    //Your submitHandler...
}

$('#emailPDF').validate(submitHandler : submitHandler);
$('#faxPDF').validate(submitHandler : submitHandler);