2011-07-19 545 views
10

所以我有一个输入字段,如果它是空白的,我希望它的值是单词“空”,但如果有任何输入值,我希望该值成为输入值。我想为此使用JavaScript,任何想法如何做到这一点?如果输入值为空白,用Javascript赋值为“空”

更新:对不起,我不认为我解释得太好。我不是指占位符文本。我的意思是它被捕获的价值。所以,如果它是空白的,因为它捕获的VAL()应该是“空”,如果它填补,所拍摄的VAL()它应该是VAL()

+0

http://stackoverflow.com/questions/108207/how-do-i-make-an-html-text-box-show-a-hint-when-empty – Joe

回答

19

如果您使用纯JS,你可以简单地做这样:

var input = document.getElementById('myInput'); 

if(input.value.length == 0) 
    input.value = "Empty"; 

这里有一个演示:http://jsfiddle.net/nYtm8/

+0

最简单最简单的胜利:)如果不是input.value.length == 0,我们把input.value ==''换成了什么? – Maverick

+0

我通常会发现最好是测试数字而不是字符串,但肯定的是,你也可以这样做:) –

+2

由于'value'属性总是一个字符串,因此'!input.value'也总是正确的(因为只有空字符串强制为'false')。 – katspaugh

1

你可以这样做:

var getValue = function (input, defaultValue) { 
    return input.value || defaultValue; 
}; 
+0

这很酷,但它只适用于HTML 5对吗? –

+0

@Jamie Dixon,是的。 – katspaugh

2

你可以设置一个回调函数形式的onSubmit事件,检查的内容每个领域。

<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"; 
} 
4

我猜这是你想要的...

表单提交后,检查值是否为空,如果是,则发送值=空。

如果是这样,你可以用jQuery做以下事情。

$('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/

点击你的光标在框中,然后按下回车键来查看表单提交的值。

+0

谢谢杰森,但是,我试图用javascript来完成它:) – Maverick

2

这可以使用HTML5的placeHolder或使用JavaScript来完成。 结帐this post

1

我觉得解决这个问题最简单的方法,如果你只需要在1或2个盒子上就是使用HTML输入的“onsubmit”函数。

检查了这一点,我将它做了什么:

<input type="text" name="val" onsubmit="if(this == ''){$this.val('empty');}" /> 

所以我们已经创建了HTML文本框中,指定一个名称(“VAL”在这种情况下),然后我们添加了onsubmit code,此代码检查当前输入框是否为空,如果是,则在表单提交时将填充空字。

请注意,这段代码也应使用HTML“占位符”的标签,当作为占位符标记实际上不分配一个值输入框的功能完美。

相关问题