jQuery函数.submit()不起作用

时间:2013-12-06 12:16:19

标签: javascript php jquery html iframe

无法弄清楚为什么此代码无效。

我创建了一个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,以便在不关闭或刷新页面的情况下进行其他操作。

我哪里出错了?

1 个答案:

答案 0 :(得分:0)

您无法正常使用jQuery来访问iframe的内容。另外,我不知道你的表格在做什么。这是完全错误的。您可以使用AJAX发送POST数据,在iframe中发送INFIN或在其外部发送,但不能将表单发送到iframe中。这没有任何意义。

假设表单位于iframe中,您需要执行以下操作:

$("#permcom").contents().find("#the-form").submit();

因此,您可以访问iframe中的元素,而不是正常的表单提交。你需要搞砸。