2011-12-30 3 views
0

В моем магазине есть некоторые заказы без выбранного варианта (обходя оповещение javascript) в каком-либо веб-браузере. Какой лучший javascript для ответа на различные веб-браузеры включают IE 9.Javascript Error Message

Вот код.

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

Похоже, что вам не хватает закрывающих тегов на ваших '

+0

Похоже, вы пишете Javascript. Вы хотите: (а) провести некоторое исследование? (b) выполнить некоторую отладку? (c) спросить кого-нибудь еще? –

ответ

2

Быстрое исправление: Изменение первых двух option элементов первого select элемента и первый option элемент второго select элемента так, чтобы они имеют атрибут value="". Например, <option value="">Size/Color</option>.

Причина заключается в том, что по умолчанию, value свойство option элемента имеет свое значение, взятое из содержания от option элемента. Так что в вашем случае document.form1.opt1.value изначально Size/Color.

+0

Я установил его со значением insert = "" при первом имени опции. Благодарю. –

+0

@PaulCho: Если этот ответ решил вашу проблему, отметьте его как принятый ответ. Пожалуйста, прочитайте FAQ (http://stackoverflow.com/faq#howtoask). – PPvG

0

Вы пытались document.getElementsByName ("opt3") [0] .value или присваивать идентификатор выбранным элементам и выполнять document.getElementById ("opt3"). Значение? Я действительно верю, что эти решения должны быть кросс-браузерными ...

+0

Это хорошая идея. Я изменил код, и он очень хорошо работал в IE, Crome, Safari. Спасибо. –