我已經創建了一個新窗體。儘管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>
感謝您幫助新手!
代碼排長......請使用''的.removeClass()代替'.removeAttr()'。 –
謝謝CJ--應該說,我原本使用.removeClass()並且有同樣的問題。 – user3445112
你是否用''關閉表單? –