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

发布于 2024-12-20 02:56:08 字数 1709 浏览 0 评论 0原文

我正在创建一个用户表单。在这里我有文本框和很多选择下拉列表。 提交后,我通过 $_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 条错误消息。

I am creating a user form. In this I have textbox and a lot of number of select dropdown.
After submitting I send all the value to database by $_POST. My form is like This:

     <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>

And more select boxes.........

and for select box validtion I am using like this

   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;
       }

I mentioned lot of select boxes in the form. So my question is can I use a single select box validation script for all select boxes?

I use this answer In this manner

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;
    }

}

but now if a left only 1 single select drop down without check,then its show 10 error message for selectbox.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

姜生凉生 2024-12-27 02:56:08

像这样 - 简单的 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
  }
}

Like this - plain 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
  }
}
单挑你×的.吻 2024-12-27 02:56:08

是的,你可以,例如:

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

希望有帮助

Yes you can, like:

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

Hope it helps

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文