Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript remove停止我在iframe内表单中提交的操作_Javascript_Jquery_Jquery Ui - Fatal编程技术网

Javascript remove停止我在iframe内表单中提交的操作

Javascript remove停止我在iframe内表单中提交的操作,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,可能重复: 我有这个功能: function Nextthing (){ $("#i").hide(); $('.table').eq(1) .find('tbody tr') .eq(2) .after('<tr><td colspan=10><iframe class="iframe" src="/msg.html?msgId='+$('.table') .eq(1)

可能重复:

我有这个功能:

function Nextthing (){

$("#i").hide();
$('.table').eq(1)
           .find('tbody tr')
           .eq(2)
           .after('<tr><td colspan=10><iframe class="iframe"  src="/msg.html?msgId='+$('.table')
           .eq(1)
           .find('tbody tr')
           .eq(2)
           .find('td a')
           .eq(0)
           .text()+'&constant=1"></iframe></td></tr>');
}

}
函数下一步(){
$(“#i”).hide();
$('.table').eq(1)
.find('tbody tr')
.eq(2)
.在('')之后;
}
}
它在submit按钮上被调用,但当我单击该按钮时,它会隐藏作为iframe的
#I
,并插入一个新的I框架,如函数的第二条语句所示

但是它没有通过submit操作,所以除了效果之外什么都没有发生,仅此而已


请选择删除,以便它可以通过提交操作?

我猜这是您的提交处理程序。如果是这种情况,您可能会遇到问题,因为您返回的是
undefined
。所有JS函数都返回一个值。如果未明确定义该值,则返回的值为
未定义
,并且由于
未定义
为falsy,您将从和事件处理程序返回false,其效果是取消事件触发器,即取消提交


如果是这种情况,只需插入一个
返回trueiframe
s中函数末尾的code>表单(即样式为
显示:无的表单)将不会提交。我相信这是一种防止网络钓鱼的安全措施。但是,您可以设置
可见性:隐藏;高度:0px;宽度:0px并且它应该可以工作

编辑:

因此问题实际上并不在于
$('#i').hide(),但实际上当它更改为
$('#i')。remove()。在这种情况下,您很可能希望更改在
iframe
本身中运行的代码。假设某种服务器端语言能够发出HTML,在处理表单提交后,输出如下内容:

<script>
if (parent && parent.Nextthing) {
    parent.Nextthing();
}
</script>

if(父项和父项下一项){
parent.Nextthing();
}

这假设您在问题中显示的
Nextthing
函数是全局范围的,并且包含在包含
iframe
引用的页面中。

浏览器报告的任何错误?否,无错误,根本不通过提交不能,因为我在iframe中处理操作,所以不能在iframe中进行隐藏的JSFIDLDLESubmit操作?提交在iframe中是的,当他单击该提交时,它将隐藏该iframe并加载下一个iframe,但提交的数据没有通过,只是效果有效,提交编号
返回true不起作用:(,我的想法适用于
hide()
,但我想将其全部删除,而不仅仅是隐藏它:(它使用的是
hide
,它不使用
remove
…我想要使用remove…好的,所以示例代码说
hide
,但这不是问题所在。当问题和代码不一致时,很难提供帮助。但是,我猜这可能是一个类似的问题;当您调用
remove
iframe时
已从DOM中删除。为什么浏览器会提交一个不再存在的表单?对,那么我可以使用什么替代方案来提交并执行我的函数?删除
#i
并在函数的第二行添加iframe如果您可以控制在
iframe
中运行的代码,您可以提交后出现的页面中的所有函数。因此,在您的
iframe
中,假设
Nextthing()
是一个全局范围的函数,则有调用
parent.Nextthing();
的代码。是的,我有控制权,我如何才能做到这一点?