我正在尝试在提交表单时更改iframe的src。
除非我按两次提交按钮,否则iframe src不会改变。但是,如果我只是将“提交”按钮的输入“类型”更改为“文本”,则它会在第一次单击时生效 - 但显然不会提交表单。
<script>
$(document).ready(function() {
$("#form1").submit(function() {
$('#upload_frame').attr('src','upload-test.php');
});
});
</script>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input id="file" type="file" name="file" />
<input name="Submit" id="submit" type="submit" value="Submit" />
<br />
<iframe id="upload_frame" name="upload_frame"> </iframe>
</form>
答案 0 :(得分:1)
我想出了我遇到的问题。使用setTimeout函数解决了它。
//show iframe on form submit
$("#form1").submit(function(){
if (show_bar === 1) {
$('#upload_frame').show();
function set () {
$('#upload_frame').attr('src','upload_frame.php?up_id=<?php echo $up_id; ?>');
}
setTimeout(set);
}
});
//
我正在使用此表格的项目可以在这里找到:
答案 1 :(得分:0)
您可以将类型更改为button
并执行此操作...
$(document).ready(function() {
$("#submit").click(function() {
$('#upload_frame').attr('src','upload-test.php');
$("#form1").submit();
});
});
答案 2 :(得分:0)
为什么不使用表单的target属性?
<form ... target="upload_frame">
应该这样做..
你不需要使用jQuery来获得浏览器的标准和支持功能..