在我的商店中,有些订单未在某些网络浏览器上选择了选项(绕过javascript警报)。 什么是响应各种网络浏览器的最好的JavaScript包括IE 9。
这是代码。
JS
function doCart() {
if ( document.form1.opt1 != null && document.form1.opt1.value == "" ) {
alert("Please Select Options");
} else if ( document.form1.opt2 != null && document.form1.opt2.value == "" ) {
alert("Please Select Options");
} else if ( document.form1.opt3 != null && document.form1.opt3.value == "" ) {
alert("Please Select Options");
} else {
document.form1.action = "/order/cartaction.jsp";
document.form1.submit();
}
}
HTML
<TABLE id="detail" cellpadding=3>
<TR>
<TD width=110 class="atitle">Size/Color</TD>
<TD style="LETTER-SPACING: -1px" align="left">
<select name="opt1" class="select_detail">
<option>Size/Color</option>
<option>--------</option>
<option value="BLACK/34A">BLACK/34A</option>
<option value="BLACK/34B">BLACK/34B</option>
</select>
</TD>
</TR>
<TR>
<TD class="atitle">Bottom</TD>
<TD style="LETTER-SPACING: 1px" align="left">
<select name="opt2" class="select_detail">
<option>Bottom</option>
<option value="Black/S">Black/S</option>
<option value="Almond/S">Almond/S</option>
</select>
</TD>
</TR>
</TABLE>
<a href="javascript:doCart();"><img src="/images/list/doCart.gif"></a>
答案 0 :(得分:2)
快速修复:更改第一个option
元素的前两个select
元素和第二个option
元素的第一个select
元素,以便它们具有属性{ {1}}。例如,value=""
。
原因是默认情况下,<option value="">Size/Color</option>
元素的value
属性的值取自option
元素的内容。因此,在您的情况下,option
最初为document.form1.opt1.value
。
答案 1 :(得分:0)
您是否尝试过document.getElementsByName(“opt3”)[0] .value或为select元素分配一个id并执行document.getElementById(“opt3”)。value?我真的相信这个解决方案应该是跨浏览器的......