2011-12-11 44 views
1

所以我使用表單,當你點擊它,它帶來了另一種形式,然後又等等的Javascript - 多種表單顯示問題

對於這個例子,這是我到目前爲止有:

<head> 
<script langauge="javascript"> 
function showGeneral(){ 
    document.getElementById('general').style.display="block"; 
    document.getElementById('colors').style.display="none"; 
    document.getElementById('domain').style.display="none"; 
    document.getElementById('details').style.display="none"; 
} 

function showColors(){ 
    document.getElementById('general').style.display="none"; 
    document.getElementById('colors').style.display="block"; 
    document.getElementById('domain').style.display="none"; 
    document.getElementById('details').style.display="none"; 
} 

function showDomain(){ 
    document.getElementById('general').style.display="none"; 
    document.getElementById('colors').style.display="none"; 
    document.getElementById('domain').style.display="block"; 
    document.getElementById('details').style.display="none"; 
} 

function showDetails(){ 
    document.getElementById('general').style.display="none"; 
    document.getElementById('colors').style.display="none"; 
    document.getElementById('domain').style.display="none"; 
    document.getElementById('details').style.display="block"; 
} 

</script> 
</head> 

<body> 
<div id="general" name="general"> 
<h1> General </h1> 
<form id="general" name="general"> 
    Name <input type="text" id="frm1txt1" name="frm1txt1"/> <br> 
    Email <input type="text" id="frm1txt2" name="frm1txt2"/> <br> 
    <input type="button" id="frm1btn1" name="frm1btn1" value="Continue" onclick="showColors();"/> <br> 
</form> 
</div> 



<div id="colors" name="colors" style="display:none"> 
<h1> Colors </h1> 
<form id="frm2" name="frm2"> 
    Green? <input type="text" id="frm2txt1" name="frm2txt1"/> <br> 
    Red? <input type="text" id="frm2txt2" name="frm2txt2"/> <br> 
    <input type="button" id="frm2btn1" name="frm2btn1" value="Continue" onclick="showDomain();"/> <br> 
</form> 
</div> 


<div id="domain" name="domain"> 
<h1> Domain Name? </h1> 
<form id="frm1" name="frm1"> 
    Yes <input type="text" id="frm1txt1" name="frm1txt1"/> <br> 
    No <input type="text" id="frm1txt2" name="frm1txt2"/> <br> 
    <input type="button" id="frm1btn1" name="frm1btn1" value="Continue" onclick="showDetails();"/> <br> 
</form> 
</div> 

<div id="details" name="details"> 
<h1> Describe Your Order </h1> 
<form id="frm1" name="frm1"> 
    Img <input type="text" id="frm1txt1" name="frm1txt1"/> <br> 
    kk <input type="text" id="frm1txt2" name="frm1txt2"/> <br> 
    <input type="button" id="frm1btn1" name="frm1btn1" value="Finish" onclick="showGeneral();"/> <br> 
</form> 
</div> 

</body> 

功能正常工作 - 但問題是它顯示頁面刷新/加載的所有表單。我怎樣才能做到這一點,所以當你加載頁面時只顯示第一個頁面?

乾杯!

回答

0

當頁面加載時,沒有調用任何JS函數,因此它們都不被處理,並且所有表單都顯示出來。您需要添加一個顯式調用其中一個函數。所以,以顯示第一窗體只你需要添加

showGeneral(); 

在腳本塊(showDetails()例如功能後)。

+0

感謝您的回覆隊友。 我對我應該在哪裏以及如何投入感到困惑: 'showGeneral();' 您能舉個例子嗎? 謝謝 –

+0

當然 - 你有幾個選擇。如果你只是在showGeneral();在開始和結束

0

您需要將每個JS函數與事件綁定,以便在觸發事件時調用該函數。

從我對你的問題的理解中,你需要有一個onclick事件處理程序與你窗體的某個元素相關聯 - 這樣當第一個點擊時,它會爲第二個窗體調用相應的函數等等。此外,最初只需將第一個窗體設置爲可見(通過CSS)。