在iFrame Colorbox中进行表单验证,如何在父页面中打开href URL并关闭Colorbox。

时间:2012-04-26 22:15:34

标签: jquery validation colorbox

我花了太多时间在这上面但却无法理解。当表单通过验证时,尝试从表单提交页面进入parents.page。这是我们到目前为止所做的,它完成了工作,但我不喜欢我们必须放“window.parent.location.href =”/ page1.hmtl“;” ......技术上并不真正提交表格。此代码位于被调用的iframe颜色框中。

$(document).ready(function() {
$("#formResultQuote").validate({
          rules: {
              rqResult: {
                  required: true,
                  minlength:1
              }
          },
          messages: {
              rqResult: {
                  required: 'Please select one of the saved quotes.'
              }
          },
          errorPlacement: function (error, element) {
              if (element.attr('name') == 'rqResult') {
              error.appendTo(element.parents().find('.rqResultError'));
          parent.$.colorbox.resize({height:580});
          },
         submitHandler: function() {
         if ($('#formResultQuote').valid()) {
         parent.jQuery.colorbox.close();
         window.parent.location.href="/page1.hmtl";
         }
       }                  
    });
});

此页面上的基本HTML非常类似:

<form name="formResultQuote" id="formResultQuote" action="/page1.html" method="post">

<input name="rqResult" id="core" type="radio" class="radioCircle" validate="required:true, minlength:2"/>
<input name="rqResult" id="core" type="radio" class="radioCircle"/></div>
<input name="rqResult" id="core" type="radio" class="radioCircle"/></div>

<input type="submit" value="Retrieve your quote." id="regularSubmitBtn" name="Retrieve_a_Quote" tabindex="27" class="rqSubmitBtn" >
</form>

1 个答案:

答案 0 :(得分:0)

而不是:

parent.jQuery.colorbox.close();
window.parent.location.href="/page1.hmtl";

你可以试试这个:

parent.jQuery('document').bind('cbox_closed', function(){
    location.href="/page1.hmtl";
});
parent.jQuery.colorbox.close();