2014-04-02 17 views
0

我已經創建了一個新窗體。儘管onchange「systemUpdate」似乎可以正常工作,但在提交表單後發送到電子郵件,並且電子郵件會顯示先前選擇的選項值,這些選項值在提交表單之前已更改並更新。窗體 - 在電子郵件的下拉帖子中的上一個選定值

例如,用戶選擇selectedIndex == 1和選項值「PS/2 connections」(#Wyse_Terminal div),然後改變主意並選擇selectedIndex == 2並提交「PS/2 connections」仍然在電子郵件中顯示。

我該如何去清除先前選定的選項值,以便它們不會在電子郵件中結束?有一個合理的代碼量,所以剛剛包括相關腳本和HTML

function systemUpdate(detail) { 
if (detail.selectedIndex == 0) { 
    $("#Option_Terminal").hide(); 
    $("#Wyse_Terminal select").removeAttr("class"); 
    $("#Wyse_LaptopDesktop").hide(); 
    $("#Wyse_LaptopDesktop select").removeAttr("class"); 
    $("#HP_Terminal").hide(); 
    $("#HP_Terminal select").removeAttr("class"); 
} else if (detail.selectedIndex == 1) { 
    $("#Wyse_Terminal").show(); 
    $("#Wyse_Terminal select").addClass("required"); 
    $("#Wyse_LaptopDesktop").show(); 
    $("#Wyse_LaptopDesktop select").addClass("required"); 
    $("#HP_Terminal").hide(); 
    $("#HP_Terminal select").removeAttr("class"); 
} else if (detail.selectedIndex == 2) { 
    $("#Wyse_Terminal").hide(); 
    $("#Wyse_Terminal select").removeAttr("class"); 
    $("#Wyse_LaptopDesktop").show(); 
    $("#Wyse_LaptopDesktop select").addClass("required"); 
    $("#HP_Terminal").hide(); 
    $("#HP_Terminal input").removeAttr("class"); 
} else if (detail.selectedIndex == 3) { 
    $("#Wyse_Terminal").hide(); 
    $("#Wyse_Terminal select").removeAttr("class"); 
    $("#Wyse_LaptopDesktop").hide(); 
    $("#Wyse_LaptopDesktop select").removeAttr("class"); 
    $("#HP_Terminal").show(); 
    $("#HP_Terminal select").addClass("required"); 
}} 

<form method="POST" title="myForm" id="myForm" name="myForm" action="emailTemplate.php"> 
    <fieldset> 
    <legend>Select Your System</legend> 
    <p><label>Please select your system</label> 
     <select id="select_system" name="select_system" class="required" onchange="systemUpdate(this);"> 
      <option value="">Select...</option> 
      <option value="Wyse Terminal">Wyse Terminal</option> 
      <option value="Laptop/Desktop">Laptop/Desktop</option> 
      <option value="HP Terminal">HP Terminal</option> 
     </select> * 
    <p><img style="width: 611px;"src="images/systemtype.jpg"/></p> 
    </p> 
<br /> 
<div id="Wyse_Terminal"> 
    <p><label>Please select connection type</legend> 
     <select id="Connection_Type" name="Connection_Type" class="required"> 
      <option value="">Select...</option> 
      <option value="PS/2 connections">PS/2 connections</option> 
      <option value="USB connections">USB connections</option> 
     </select> * 
    <p><img style="width: 611px;"src="images/mouse.png"/></p> 
    </p> 
</div> 
<br /> 
<div id="Wyse_LaptopDesktop"> 
    <p><label>Select items required</label> 
     <select id="Items_Required" name="Items_Required" class="required"> 
      <option value="">Select...</option> 
      <option value="Keyboard and Mouse ($60)">Keyboard and Mouse ($60)</option> 
      <option value="Keyboard only ($40)">Keyboard only ($40)</option> 
      <option value="Mouse only ($20)">Mouse only ($20)</option> 
     </select> * 
    </p> 
</div> 
<div id="HP_Terminal"> 
    <p><label>If HP Terminal</label> 
     <select id="HPTerminal" name="HPTerminal" class="required"> 
      <option value="">Select...</option> 
      <option value="Wireless Keyboard and Mouse ($60)">Wireless Keyboard and Mouse ($60)</option> 
     </select> * 
    </p> 
</div> 
</fieldset> 


<fieldset id="yourDetails"> 

</fieldset> 

<p class="submit"><input class="button" onClick="return checkTicked();" name="Submit" type="submit" value="Submit"></p> 

感謝您幫助新手!

+0

代碼排長......請使用''的.removeClass()代替'.removeAttr()'。 –

+0

謝謝CJ--應該說,我原本使用.removeClass()並且有同樣的問題。 – user3445112

+0

你是否用''關閉表單? –

回答

0

試試這個

function systemUpdate(detail) { 
if (detail.selectedIndex == 0) { 
    $("#Option_Terminal").hide(); 
    $("#Option_Terminal").val(""); 
    $("#Wyse_Terminal select").removeAttr("class"); 
    $("#Wyse_LaptopDesktop").hide(); 
    $("#Wyse_LaptopDesktop").val(""); 
    $("#Wyse_LaptopDesktop select").removeAttr("class"); 
    $("#HP_Terminal").hide(); 
    $("#HP_Terminal").val(""); 
    $("#HP_Terminal select").removeAttr("class"); 
} else if (detail.selectedIndex == 1) { 
    $("#Wyse_Terminal").show(); 
    $("#Wyse_Terminal select").addClass("required"); 
    $("#Wyse_LaptopDesktop").show(); 
    $("#Wyse_LaptopDesktop select").addClass("required"); 
    $("#HP_Terminal").hide(); 
    $("#HP_Terminal").val(""); 
    $("#HP_Terminal select").removeAttr("class"); 
} else if (detail.selectedIndex == 2) { 
    $("#Wyse_Terminal").hide(); 
    $("#Wyse_Terminal").val(""); 
    $("#Wyse_Terminal select").removeAttr("class"); 
    $("#Wyse_LaptopDesktop").show(); 
    $("#Wyse_LaptopDesktop select").addClass("required"); 
    $("#HP_Terminal").hide(); 
    $("#HP_Terminal").val(""); 
    $("#HP_Terminal input").removeAttr("class"); 
} else if (detail.selectedIndex == 3) { 
    $("#Wyse_Terminal").hide(); 
    $("#Wyse_Terminal").val(""); 
    $("#Wyse_Terminal select").removeAttr("class"); 
    $("#Wyse_LaptopDesktop").hide(); 
    $("#Wyse_LaptopDesktop").val(""); 
    $("#Wyse_LaptopDesktop select").removeAttr("class"); 
    $("#HP_Terminal").show(); 
    $("#HP_Terminal select").addClass("required"); 
}} 
+0

謝謝!讓我走上正確的路線,只需稍微調整一下,例如$(「#Wyse_Terminal select」)。val(「」); – user3445112

相關問題