2011-04-24 64 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>