这是我的问题:
我有一个jsp页面,这个jsp有很多这样的文本字段:
<html:text property="cicPF" maxlength="9" style="text-transform: uppercase;" onfocus="disableIfeFields()"/>
因此,当焦点位于特定字段时,我想禁用其中一些文本字段
但是这些字段中没有一个有"id“标签,我不能修改它来包含它。
我是否可以禁用字段usig其给定的名称,其中没有一个字段会重复相同的名称。
例如,使用如下函数:
function disableIfeFields(){
document.getElementsByName("numIdentificacionPF").disabled = true;
}
谢谢
发布于 2018-07-21 04:53:39
您需要遍历列表并禁用所有您想要的字段,使用输入来显示示例:
function disableIfeFields() {
document.getElementsByName("numIdentificacionPF").forEach((e) => {
e.disabled = true;
});
}
<html:text property="cicPF" maxlength="9" style="text-transform: uppercase;" />
<input onfocus="disableIfeFields()" type="text" name="fname">
<input type="text" name="numIdentificacionPF">
<input type="text" name="numIdentificacionPF">
<input type="text" name="numIdentificacionPF">
<input type="text" name="numIdentificacionPF">
<input type="text" name="numIdentificacionPF">
发布于 2018-07-21 04:55:19
希望下面的内容能有所帮助。因为选择结果是一个元素列表,所以您必须遍历结果。请注意,由于您说过没有输入重复相同的名称,所以我使用的是querySelectorAll
,毕竟是…,它可能是更合适的方法
var inputs = document.querySelectorAll('input[type="text"]');
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].id === 'label') {
continue;
}
inputs[i].disabled = true;
}
发布于 2018-07-21 04:59:18
可能是这样的:
function disableIfeFields(){
document.querySelectorAll('[property="cicPF"]')[0].disabled = true;
}
disableIfeFields();
<input type="text" property="cicPF" maxlength="9" style="text-transform: uppercase;" onfocus="disableIfeFields()"/>
https://stackoverflow.com/questions/51450110
复制相似问题