jquery/javascript:从iframe中的表单捕获提交事件?
假设我有一个带有iframe的网页,其中包含一个表单。我想在提交表单时在隐藏字段中设置一个值。提交表单时,如何在主页中触发事件 这是我尝试做的一个简化版本:jquery/javascript:从iframe中的表单捕获提交事件?,javascript,jquery,Javascript,Jquery,假设我有一个带有iframe的网页,其中包含一个表单。我想在提交表单时在隐藏字段中设置一个值。提交表单时,如何在主页中触发事件 这是我尝试做的一个简化版本: <!DOCTYPE html> <html> <head> <title>TEST IFRAME UPLOAD</title> <script type="text/javascript" src="http://code.jquery.com/
<!DOCTYPE html>
<html>
<head>
<title>TEST IFRAME UPLOAD</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
// Pseudo code for what I want to do
// (this of course doesn't work because target is inside iframe:
jQuery(document).ready(function() {
$("#file_upload_form").submit(function() {
$("input[name='fileuploaded']").val(1);
return true;
});
});
</script>
</head>
<body>
<form id="mainform" action="processform" method="post">
<input type="hidden" name="fileuploaded" value="">
<!-- more form fields here -->
</form>
<iframe id="upload-iframe">
<form enctype="multipart/form-data" id="file_upload_form" action="processfileupload" method="post">
Select an image to upload:<br/>
<input type="file" name="file">
<input type="submit" name="submit" class="submit" value="Upload">
</form>
</iframe>
</body>
</html>
试试这个
$('#upload-iframe').load(function() {
$(this).contents().find('#file_upload_form').submit(function() {
$("input[name='fileuploaded']").val("some value"); // updated
return true; //return false prevents submit
});
});
引自
可能重复的对我不起作用,输入字段不会更新。我已经将iframe内容移动到一个单独的文件中,我在示例中显示它的方式是不正确的,因此内部主体标记现在包含:fileupload:我猜这个解决方案的问题是$input[name='fileupload'].val=1;是否在iframed文档而不是父文档的上下文中进行操作?您的解决方案非常有效,谢谢!问题是我在伪代码中引入的val分配问题,您在解决方案中进行了更新。