2010-11-23 119 views
0

我有一個頁面每一個包含表單多個iframe,我把I幀外的提交按鈕,當上提交的所有形式的用戶應該按所需提交,然後頁面應該被關閉,任何人都可以幫助我呢?提交多種形式

這個函數調用的onclick上提交按鈕

function Save_Close() 
    { 
     if (window.frames.intake_pat_info_iframe && window.frames.intake_pat_info_iframe._Submit('Update')) { 
      window.frames.intake_pat_info_iframe._Submit('Update'); 

     } 
     if (window.frames.intake_job_info_iframe && window.frames.intake_job_info_iframe._Submit('Update')) { 
      window.frames.intake_job_info_iframe._Submit('Update'); 

     } 
     if (window.frames.intake_spine_his_iframe && window.frames.intake_spine_his_iframe._Submit('Update')) { 
      window.frames.intake_spine_his_iframe._Submit('Update'); 

     } 
     if (window.frames.intake_past_med_history_iframe && window.frames.intake_past_med_history_iframe._Submit('Update')) { 
      window.frames.intake_past_med_history_iframe._Submit('Update'); 
    } 

....

<input type="button" id="" name="" value="Save & Close" onclick="Save_Close()"/> 

日Thnx

回答

0

只要您可以使用JavaScript和您的I幀都從同一個服務器提供服務,它並不難。一個完全純粹的內聯JS方法看起來像(這是使用ASP.NET服務器端的東西,但最重要的一點是在按鈕的onclick()處理)

<%@ Page Language="C#" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<head> 
    <title>IFRAME form submit demo</title> 
</head> 
<body> 
    <iframe name="iframe1" src="my_form.aspx"></iframe> 
    <iframe name="iframe2" src="my_form.aspx"></iframe> 
    <iframe name="iframe3" src="my_form.aspx"></iframe> 
    <iframe name="iframe4" src="my_form.aspx"></iframe> 
    <input type="submit" value="Submit All IFrames" 
      onclick="for(var i = 0; i < frames.length; i++) { frames[i].document.forms[0].submitButton.click(); }" /> 
</body> 
</html> 

編輯:現在明確要求form.submitButton .click()而不是form.submit()來調用綁定到提交按鈕的Click處理函數。

0

這是不容易實現的。

每個IFrame,這是一個不同的文件,和一個提交按鈕只在單一表單上工作,一個是屬於。

的得到這個工作,你將需要收集你使用JavaScript來填充提交按鈕是窗體上的一個或多個隱藏字段所有的IFrame數據。

如果不同的iframe是不同的域然而,這不會是可能的,因爲same origin安全策略。

+0

我有每個iframe中的函數可以提交包含的表單,全局按鈕應該調用這些函數來提交表單,但它只提交第一個表單.. – ama 2010-11-23 11:38:28

+0

@ama - 是的。提交按鈕只會提交它所在的表單。如果你想調用其他IFrame上的函數,你需要通過JavaScript從你的提交按鈕調用它們。沒有看到你的代碼很難給你更具體的建議。 – Oded 2010-11-23 11:41:02