Javascript错误消息

时间:2011-12-30 23:36:48

标签: javascript

在我的商店中,有些订单未在某些网络浏览器上选择了选项(绕过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>

2 个答案:

答案 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?我真的相信这个解决方案应该是跨浏览器的......