【问题标题】:Validating Input Fields with JavaScript or jQuery使用 JavaScript 或 jQuery 验证输入字段
【发布时间】:2015-09-20 14:03:47
【问题描述】:

我需要检查以确保四个字段中具有某种值。 我试过这些想法: Check whether a select box is empty How to tell if a DDL has options to select

我的代码目前是这样的:

    function goToConfirmStep() {
    var isAllowed = false;
    var type = $(".#tShowingType option:selected").val(); //DDL
    var startDate = $("#startDate").text(); //date picker
    var startTime = $("#startTime option:selected").val(); //DDL
    var endTime = $("showingLength option:selected").val(); //DDL
    if (type.val() ) { //&&   //(type != null || type != "")
    //(startDate.text() == "" || startDate.text() == null)) {//&&
    //($('#startTime').has('option').length > 0) &&
    //($('#endTime').has('option').length > 0)) {
    alert("here");

我把 cmets 留在了里面,所以你可以告诉我我的尝试。

如果他们选择了值(“类型”和“开始时间”将在加载时选择一个),我想转到下一页。如果未填写字段,我会在 else 上发出警报以防止它们继续前进。

【问题讨论】:

  • 我猜 .val() 会给你当前值,在这种情况下你可能只检查 type.val().length > 0 ,它检查字符串的长度跨度>
  • .val() 永远不会返回 null,除非选择器不匹配任何内容。
  • 您不需要使用option:selected。下拉列表的值是所选选项的值。
  • 所以我应该使用 .value() 代替吗?

标签: javascript jquery validation


【解决方案1】:

您不应使用&& (and) 运算符,因为只有在所有字段为空时才会显示警报。

应该是这样的:

function goToConfirmStep() {
    var isAllowed = false;
    var type = $(".#tShowingType option:selected").val(); //DDL
    var startDate = $("#startDate").text(); //date picker
    var startTime = $("#startTime option:selected").val(); //DDL
    var endTime = $("showingLength option:selected").val(); //DDL

    if (type == "" || startDate == "" || startTime == "" || endTime == "")
        alert("please fill in the required fields");
    else
        goToNextStep();
}

【讨论】:

    【解决方案2】:

    我最终不得不以不同的方式攻击它。这就是我所做的:

    Attacking this from a different angle.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-25
      • 2015-02-24
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多