如何在页面加载时获取文本框的值,如果它为null
How to get value of textbox on page load, if it is null?
- 首先要检查的是,文本框在页面加载时不包含任何内容吗
-
然后给它赋值。
if (document.getElementById("txtBoxID").value == null) { document.getElementById("txtBoxID").value = "Some text here"; }
-
但是出错了"JavaScript运行时错误:无法设置未定义或null引用的属性'value'"如何做到这一点?
这是因为您的DOM还没有准备好,所以请等待加载完成:
window.onload=function(){
if (document.getElementById("txtBoxID").value == null) {
document.getElementById("txtBoxID").value = "Some text here";
}
};
您可能试图在页面中定义之前访问元素,所以您应该在window.load
事件上执行该代码,或者将该代码移动到</body>
之前
作为替代方案,您可以使用许多现代浏览器支持的placeholder
属性
<input type="text" id="txtBoxId" placeholder="Some text here" />
如果输入没有值,则会显示占位符值
(这种行为的polyfill可用于旧浏览器)
您试图访问null(或未定义)对象的属性'value',这会导致异常,假设您的ID可能不是txtBoxID
测试文本框值为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)
页面加载后,您是否正在执行上面的代码?
window.onload = function() {
if (document.getElementById("txtBoxID").value == null) {
document.getElementById("txtBoxID").value = "Some text here";
}
}
注意,window.onload
并不是检查页面是否已加载的最佳方式。这取决于浏览器的规格。请参阅window.addEventListener或window.attachEvent或IE.
请尝试下面的代码,您需要在行中首先将值设置为null
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");
}
}
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();" />
如果您有JQuery,这里还有另一种实现您所要求的方法。在document.ready函数中,您可以使用文本框的id获取文本的值,并将其包装在JQuery中。这将允许您使用.val()函数在文本框为空的情况下检查并替换文本框的值
$(document).ready(function () {
if($('#id-of-your-textbox').val() == ' ')
{
$('#id-of-your-textbox').val('some text');
}
});
相关文章:
- 在php中提交数据时,如果某些值为null,而某些值为非null,如何进行查询
- 未捕获的类型错误:无法设置属性'innerHTML'如果为null,则将脚本移动到正文不会;不起作用
- 如果为null,则设置javascript变量的值
- 如果JS会话变量为null,如何避免500内部服务器错误
- Don'如果“不希望发送电子邮件”;Null”;单元格中的值
- 如果一个javascript模块为null,那么它的侦听器将被清除
- 如果未找到动态音频 src 或为 null,请使用 javascript 隐藏 HTML5 音频播放器
- 如果会话中的属性不为 null 或默认值,则运行/打印 JavaScript Razor ASP.NET MVC
- 如果属性值为 null,则使用主干模型默认值
- javascript 返回 null 或 None 如果参数没有给函数
- 如果一个组不匹配,如何设置 NULL
- 如果简码生成器中没有选择,则多个选择框返回 null
- 如果值为null,请在提交前使用js或jQuery更改输入文本值
- Javascript:为什么不;t〃;如果(element!=''||element!=null)“;工
- 如果字段为null,则在sitecore中显示none
- Lodash处理两个对象,但如果处理三个对象,则返回null
- 零元素条件中的错误“;如果“;未捕获的类型错误:无法读取属性'1'为null
- 如果php变量链接为null,则禁用href标记
- 如何在休息后重新提示之前添加警报框(如果为Null);
- 整理代码:检查多个值,如果找到任何值,则返回null