然后为其指定一些值。
if (document.getElementById("txtBoxID").value == null) {
document.getElementById("txtBoxID").value = "Some text here";
}
但是收到错误 “JavaScript运行时错误:无法设置未定义或空引用的属性'值'” 怎么做?
答案 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 == ""));
(我正在使用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=''>
以下是演示:
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;