我有一个输入框,如果它为空,我希望它的值为“空”,但如果输入了任何值,我希望该值为输入的值。我想使用JavaScript实现这一点,你有什么想法吗?
更新:抱歉,我觉得我没有解释得很清楚。我不是指占位符文本,而是指它的捕获值。因此,如果它为空,则应为其捕获的val()值为“empty”,如果填写了内容,则捕获的val()值应为该val()
我有一个输入框,如果它为空,我希望它的值为“空”,但如果输入了任何值,我希望该值为输入的值。我想使用JavaScript实现这一点,你有什么想法吗?
更新:抱歉,我觉得我没有解释得很清楚。我不是指占位符文本,而是指它的捕获值。因此,如果它为空,则应为其捕获的val()值为“empty”,如果填写了内容,则捕获的val()值应为该val()
如果你在使用纯JS,你可以这样做:
var input = document.getElementById('myInput');
if(input.value.length == 0)
input.value = "Empty";
这是一个演示:http://jsfiddle.net/nYtm8/
!input.value
也始终是正确的(因为只有空字符串强制转换为"false")。 - katspaugh==
不会导致意外行为。关于使用 ===
和 ==
的讨论是一种强制转换。如果你想利用强制转换的能力,那么你会想要使用 ==
,只有当你不知道它的作用时,它的行为才是意外的。规范非常清楚。不过,你说我在这里应该使用 ===
是正确的。 - Jamie Dixon$('form').submit(function(){
var input = $('#test').val();
if(input == ''){
$('#test').val('empty');
}
});
HTML
<form>
<input id="test" type="text" />
</form>
http://jsfiddle.net/jasongennaro/NS6Ca/
在框中单击光标,然后按“Enter”键即可查看表单提交的值。
您可以为表单的onSubmit事件设置回调函数,并检查每个字段的内容。如果它不包含任何内容,那么您可以使用字符串“empty”填充它:
<form name="my_form" action="validate.php" onsubmit="check()">
<input type="text" name="text1" />
<input type="submit" value="submit" />
</form>
在你的JS中:
function check() {
if(document.forms["my_form"]["text1"].value == "")
document.forms["my_form"]["text1"].value = "empty";
}
var getValue = function (input, defaultValue) {
return input.value || defaultValue;
};
我认为解决这个问题最简单的方法,如果您只需要在1或2个框中使用它,就是使用HTML输入的“onsubmit”函数。
看一下这个,我将解释它的作用:
<input type="text" name="val" onsubmit="if(this == ''){$this.val('empty');}" />
所以我们创建了HTML文本框,为其分配了一个名称(在这种情况下是“val”),然后我们添加了onsubmit代码,此代码检查当前输入框是否为空,如果为空,则在表单提交时将其填充为单词empty。
请注意,当使用HTML“Placeholder”标记时,此代码也应该完美地运行,因为占位符标记实际上并没有为输入框分配值。