我一直在努力工作并取得零进展我即将惊慌失措。请帮忙!
以下是代码。
我希望表单的TARGET属性从target="frame1"
更改为target="frame2"
然后target="frame3"
,依此类推,在提交表单后无限制。表单将这些提交到iframe,因此每次提交后页面都不会刷新。
有人可以帮忙吗?
<div id="container">
<div id="scan">
<form method="post" id="auditRepairForm" name="auditRepairForm" action="https://example.com.com" target="changeTarget()">
<input name="scanID" id="scanID" value="12345678" onFocus="this.value=''" />
<input name="fromLaunchScreen" id="fromLaunchScreen" type="hidden"/>
<input type="submit" id="SubmitForEdit" style="display:none;"/>
</form>
</div>
<div class="outerdiv">
<iframe name="frame1" class="inneriframe"></iframe>
</div>
<div class="outerdiv">
<iframe name="frame2" class="inneriframe"></iframe>
</div>
<div class="outerdiv">
<iframe name="frame3" class="inneriframe"></iframe>
</div>
<div class="outerdiv">
<iframe name="frame4" class="inneriframe"></iframe>
</div>
<div class="outerdiv">
<iframe name="frame5" class="inneriframe"></iframe>
</div>
<div class="outerdiv">
<iframe name="frame6" class="inneriframe"></iframe>
</div>
<div class="outerdiv">
<iframe name="frame7" class="inneriframe"></iframe>
</div>
<div class="outerdiv">
<iframe name="frame8" class="inneriframe"></iframe>
</div>
<div class="outerdiv">
<iframe name="frame9" class="inneriframe"></iframe>
</div>
<div class="outerdiv">
<iframe name="frame10" class="inneriframe"></iframe>
</div>
</div>
答案 0 :(得分:2)
如何改变
<input type="submit" id="SubmitForEdit" style="display:none;"/>
为:
<input type="button" id="SubmitForEdit" onclick="changeformtarget();" style="display:none;"/>
并添加
<script type="text/javascript">
var count = 1;
function changeformtarget() {
document.getElementById('auditRepairForm').target = 'frame'+count;
count += 1;
}
</script>
答案 1 :(得分:0)
如果您使用的是IFRAME而非AJAX,则需要在iframe中提交的页面中添加一个小的javascript代码。
该代码应该直接在父窗口中更改表单的属性,或者在父窗口中激活该功能。
答案 2 :(得分:0)
我认为您需要使用setTimeout,因为否则无法突破提交事件:
<script type="text/javacript">
var count = 2;
function submit() {
setTimeout(function () {
// this will get executed AFTER the form submits
document.getElementById("the_form").target = "frame" + count;
count += 1; // increase the counter so next time is frame3;
}, 1);
return true;
}
</script>
<form id="the_form" onsubmit="return submit();" target="frame1">
..etc..
</form>