【问题标题】:add/remove required attribute dynamically动态添加/删除所需属性
【发布时间】:2015-01-01 14:17:06
【问题描述】:

我想添加/删除输入元素的必需属性。但不知何故,它不起作用。

如果违规车牌#文本字段为空,描述车辆文本字段应为必填项。

罪犯板#:<input type="text" id="plate_num_id" name="plate_num" onblur="checkForRequired()"><br>

描述车辆:<textarea id="vehicle_desc_id" name="vehicle_desc"></textarea><br>

那么这是我的功能。

function checkForRequired() {

    var plateLength = document.getElementById("plate_num_id").value.length;

    if (plateLength < 1) {

        $("#vehicle_desc_id").add('required');
    } else {

        $("#vehicle_desc_id").removeAttr('required');
    }
}

我也试过其他方法:

document.getElementById("vehicle_desc_id").removeAttribute("requried");

document.getElementById("vehicle_desc_id ").required = true/false;

document.getElementById("vehicle_desc_id ").setAttribute("required ", "");

似乎没有任何工作......

【问题讨论】:

  • $("#vehicle_desc_id").prop('required', true)
  • 从未将 onblur/onfocusout 视为属性,这是否按预期工作?尝试将它们分开。onfocusout="checkForRequired()"onblur="checkForRequired()" 控制台说什么?任何错误
  • 删除左尖括号后的空格....
  • 应该是分开的。我只是说我已经尝试过使用这两个。所以是的,我都试过了,onfocusout="checkForRequired()"onblur="checkForRequired()"。这似乎不是问题所在。

标签: javascript jquery html required


【解决方案1】:

当您对 html 进行排序并删除括号后的空格时有效,如果更正,再次编辑以在详细信息后删除

function checkForRequired() {

    var plateLength = document.getElementById("plate_num_id").value.length;
var vehicle = document.getElementById("vehicle")
    if (plateLength < 1) {

        vehicle.setAttribute('required','required');
    } else {
 
      vehicle.removeAttribute('required');
    }
}
input:required{border:1px solid red;}
<input type="text" id="plate_num_id" name="plate_num" onblur/onfocusout="checkForRequired()"><br/><br>
<input type="text" id="vehicle" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-04
    • 2013-09-09
    • 2019-02-03
    • 1970-01-01
    • 2021-09-18
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多