如果它是null,如何在页面加载时获取文本框的值?

时间:2013-06-28 07:13:49

标签: javascript

  1. 首先要检查一下,文本框是否在页面加载时不包含任何内容?
  2. 然后为其指定一些值。

    if (document.getElementById("txtBoxID").value == null) {
    document.getElementById("txtBoxID").value = "Some text here";
    }
    
  3. 但是收到错误 “JavaScript运行时错误:无法设置未定义或空引用的属性'值'” 怎么做?

7 个答案:

答案 0 :(得分:0)

您是否在加载页面后执行上述代码?

window.onload = function() {
  if (document.getElementById("txtBoxID").value == null) {
    document.getElementById("txtBoxID").value = "Some text here";
  }
}

请注意window.onload不是检查页面是否已加载的最佳方法。这取决于浏览器的规格。请参阅window.addEventListener或window.attachEvent或IE。

答案 1 :(得分:0)

这是因为你的DOM没有准备好所以请等到加载完成:

window.onload=function(){
  if (document.getElementById("txtBoxID").value == null) {
    document.getElementById("txtBoxID").value = "Some text here";
  }
};

答案 2 :(得分:0)

您可能在页面中定义之前尝试访问该元素,因此您应该在window.load事件上执行该代码,或者在</body>之前移动该代码

作为替代方案,您可以使用许多现代浏览器支持的placeholder属性

<input type="text" id="txtBoxId" placeholder="Some text here" />

如果输入没有值,则显示占位符值而不是
(此行为的polyfill可用于旧版浏览器)

答案 3 :(得分:0)

您正尝试访问null(或未定义)对象上的属性“value”,导致异常,假设您的ID可能不是txtBoxID

答案 4 :(得分:0)

为文本框值测试null是不安全的。你应该使用空字符串。 我创建了一个jsFiddle,显示了这个:

<input type="text" id="txtBx" />

document.getElementById("txtBx").value = null;
alert("test 1 textbox is null \n" +  (document.getElementById("txtBx").value == null));

alert("test 2 textbox is empty string \n" +  (document.getElementById("txtBx").value == ""));

http://jsfiddle.net/kZhHa/3/

(我正在使用Chrome)

答案 5 :(得分:0)

如果你有JQuery,这是完成你要求的另一种方式。在document.ready函数中,您可以使用文本框的id并将其包装在JQuery中来获取文本的值。这将允许您使用.val()函数检查并替换文本框为空的情况下的值

$(document).ready(function () {         
    if($('#id-of-your-textbox').val() == ' ') 
    {
       $('#id-of-your-textbox').val('some text');
    }
});

答案 6 :(得分:0)

请尝试以下代码,您需要先在行

中将值设置为空
Name: <input type="text" id="myText" value=''>

以下是演示:

&#13;
&#13;
function func() {
  if (document.getElementById("myText").value == '') {
    document.getElementById("myText").value = "Some text here";
  } else {
    alert("not null");
  }
}
&#13;
Name: <input type="text" id="myText" value="">

<p>Click the button to change the value of the text field.</p>
<input type="button" id="button" value="Click Me" onClick="func();" />
&#13;
&#13;
&#13;