我正在尝试使用 jQuery 从子 iframe 提交包含在父窗口中的表单,但运气不佳。
在子窗口中,我具有以下验证功能:
<script type="text/javascript" src="templates/js/jquery.js"></script>
<script type="text/javascript" src="templates/js/jquery.validate.js"></script>
<script>
$(document).ready(function(){
$("#form_invoice_item").validate({
submitHandler: function (form) {
// Check if main invoice already saved
if ($('#invoice_id').val() == "") {
// Change target to processing iframe
try {
parent.$('#invoice_form').ajaxSubmit();
} catch(e) { //debug
alert ("Error:" + e);
}
} else {
alert ("Saving invoice " + $('#invoice_id').val() + ' items'); }
//form.submit(); //debug
}
});
});
</script>
<form method="post" id="form_invoice_item" name="form_invoice_item" action="index.php" target="invoice_items">
发生的错误parent.$('#invoice_form').ajaxSubmit();
是
错误:TypeError:对象 [对象对象] 没有方法 'ajaxSubmit'
如果我使用以下纯 Javascript 代码片段,则没有问题(显然这不是 jQuery,但它可以完成工作)。我如何在 jQuery 中执行此操作:
parent.document.getElementById('invoice_form').target='process';
parent.document.getElementById('invoice_form').submit();
parent.document.getElementById('invoice_form').target='';
我有一个名为 process 的隐藏 iframe,它的 display 属性设置为 hidden。