通过javascript重置HTML输入字段失败

An HTML Input Field I Fail to Reset via javascript

本文关键字:字段 失败 输入 HTML javascript 重置 通过      更新时间:2023-09-26

我不使用jQuery,除非这会迫使我。

我看似简单的HTML文档有一个div,其中有3个输入,由于某种原因,我无法重置其中的第三个。我的清理显示代码显示在下面:

<div>
 <label>LIMIT 1
  <select id="limit1"> 
   <option value="1">Choice1</option>
   <option value="2">Choice2</option>
  </select>
 </label>
 <label>LIMIT 2
  <select id="limit2">
   <option value="1">Choice1</option>
   <option value="2">Choice2</option>
  </select>
 </label>
 <label>ENTER A VALUE
  <input type="text" id=“parm2” value="20" size="3" maxlength="4">
 </label>
</div>

这是我的验证和重置代码:

var limit1 = document.getElementById("limit1");
var limit2 = document.getElementById("limit2");
if (limit2.value < limit1.value) {
 alert("ERROR: 1st must be less than 2nd");
 limit1.value = 1; 
 limit2.value = 2;
 return false;
}  // Above resets of select options works!
var uValue = document.getElementById(“parm2”).value;
if (isNaN(uValue)) {
 uValue.value = "20";   // This reset fails!
 return false;
}

谢谢你的帮助。

var uValue = document.getElementById(“parm2”).value;

选择元素的,而不是元素。所以"123".value实际上没有意义,如果你想重置它的值,请存储元素。

var uElement = document.getElementById('parm2');
// later on
uElement.value = 20;

旁注:属性访问通常并不昂贵,因此只存储元素并稍后使用.value访问值是完全可以接受的,而不是使用两个变量。

您访问.value两次

var parm2 = document.getElementById(“parm2”);
if (isNaN(parm2.value)) {
 parm2.value = "20";   // This reset no longer fails!
 return false;
}