2011-04-24 50 views
1

我一直在为此工作太多,并取得零进展,我即将被吓倒。请帮忙!提交后更改表格的目标

以下是代码。

我希望窗体的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

代码在哪里?你说它在下面,但我没看到它。 – Dancrumb 2011-04-24 21:00:54

+0

已修复 – 2011-04-24 21:02:51

+0

在您的表格上使用onsubmit事件 – Ibu 2011-04-24 21:05:21

回答

0

如果您使用的是IFRAME而不是AJAX,则需要在提交给iframe的页面中放入一个小的JavaScript代码。
该代码应该直接更改父窗口中窗体的属性,或者在父窗口中激活一个实现该功能的功能。

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> 
+0

嗯。这提交给第一个iframe1,但是在重新提交时它只是再次将它发送到第1帧。 – Devin 2011-04-24 21:21:07

1

如何回合改变

<input type="submit" id="SubmitForEdit" style="display:none;"/> 

到:

<input type="button" id="SubmitForEdit" onclick="changeformtarget();" style="display:none;"/> 

和addding

<script type="text/javascript"> 
var count = 1; 
function changeformtarget() { 
    document.getElementById('auditRepairForm').target = 'frame'+count; 
    count += 1; 
} 
</script>