无法弄清楚为什么此代码无效。
我创建了一个MySQL查询链接列表,并将它们分类为打开一个jQuery对话框onClick。以下是我生成链接和所有脚本内容的方法:
$(function(){
$( "#select" ).dialog({
autoOpen: false,
width: 280,
modal: true,
resizable: false,
},
buttons: [{
text: "Close",
click: function() {
$( this ).dialog( "close" );
}
}]
});
$( ".perm" ).click(function() {
$("#select").dialog("open");
$("#cod").val(this.id);
$("#pass").submit();
});
});
//And then generating links
echo "<a id=\"".$fetch['id']."\" href=\"#\" class=\"perm\">Click me</a>\n";
还有包含iFrame的div,它将打开到对话框中,并且应该能够通过表单将jQuery函数提交的隐藏值读入div。
<div id="select" title="Blabla">
<form id="pass" target="iframe" method="post" action="permcom.php">
<input type="hidden" name="idcom" id="cod" value="">
</form>
<iframe id="permcom" name="iframe" src="permcom.php"></iframe>
</div>
我也尝试使用event.preventDefault();
但没有任何反应。对话框打开,正确显示iFrame,但在POST阵列中找不到数据。
我唯一的目的是通过POST将触发函数的元素的id发送到iFrame,以便在不关闭或刷新页面的情况下进行其他操作。
我哪里出错了?
答案 0 :(得分:0)
您无法正常使用jQuery来访问iframe的内容。另外,我不知道你的表格在做什么。这是完全错误的。您可以使用AJAX发送POST数据,在iframe中发送INFIN或在其外部发送,但不能将表单发送到iframe中。这没有任何意义。
假设表单位于iframe中,您需要执行以下操作:
$("#permcom").contents().find("#the-form").submit();
因此,您可以访问iframe中的元素,而不是正常的表单提交。你需要搞砸。