选择下拉列表的单个验证脚本

时间:2011-12-06 07:32:29

标签: php javascript select validation

我正在创建一个用户表单。在这个我有文本框和很多选择下拉列表。 提交后,我通过$ _POST将所有值发送到数据库。我的表格就像这样:

     <tr>
         <td>Review Employee Id</td>
         <td><input type="text" name="rcode" id="rcode"  class="genInputBox" /></td>
     </tr>
     <tr>
         <td>Quality of Delivery</td>
         <td>
              <select name="qd" id="qd">
                <option value="">Plz Select Ratting </option>
                <option value="5">5</option>
                <option value="4">4</option>
                <option value="3">3</option>
                <option value="2">2</option>
                <option value="1">1</option>
              </select>
         </td>
      </tr>

更多选择框.........

并且对于选择框验证我正在使用这个

   var qd = document.product.qd.options[document.product.qd.selectedIndex].value;
       if (qd == "") {
           error_message = error_message + "Please select Rating In domain Knowledge\n";
           error = 1;
       }

我在表单中提到了很多选择框。所以我的问题是我可以为所有选择框使用单个选择框验证脚本吗?

我以这种方式使用这个答案

var sels = document.product.getElementsByTagName("select");
for (var i=0,n=sels.length;i<n;i++) {
  if (sels[i].selectedIndex<1) {
    alert(sels[i].options[0]); // alerts Plz Select whatever
    sels[i].focus();

  error_message = error_message + "Please select drop down\n";
   error = 1; }
}
   if (error == 1) {
    alert(error_message);
    return false;
    } else {
    return true;
    }

}

但是现在如果只剩下1个单一选择下拉而没有检查,则显示选择框的10错误消息。

2 个答案:

答案 0 :(得分:2)

像这样 - 普通的JS -

window.onload=function() {
  var form = document.getElementsByTagName("form")[0]; // assuming first form on page
  form.onsubmit=function() {
    var sels = form.getElementsByTagName("select");
    for (var i=0,n=sels.length;i<n;i++) {
      if (sels[i].selectedIndex<1) {
        alert(sels[i].options[0]); // alerts Plz Select whatever
        sels[i].focus();
        return false; // disallow submit
      }
    }
    return true; // allow submission
  }
}

答案 1 :(得分:0)

是的,你可以,如:

var firstSelectLen = document.product.qd.length;
var secondSelectLen = document.product.qd1.length; // and so on for all selects you have
//then loop with lengths to check if any selected
//and show error msg accordingly

希望有所帮助

相关问题