js提交表单input默认值的问题

<form action="ff.html" name="formData" method="post">
<input id="inputTxt" name="txt" value="默认值"/>
<input type="button" id="btn" value="提交"/>
</form>

我input标签有默认值,但是保存的时候我想将 “默认值” 三个字保存为空,
我的做法是:
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function(){
$("#btn").click(function(){
var isDefault = $("#inputTxt").val();

if(isDefault == "默认值"){
$("#inputTxt").val("");
}
document.formData.submit();
});
});
</script>
但是感觉很笨,请问有什么更好的处理方式吗?

第1个回答  2013-08-26
是想让input上面有值?但是又不影响传值么?如果是,直接使用占位符, 就能实现效果
使用html5的placeholder属性

这个属性很好用,不再依赖js来完成,浏览器原生支持的当然更爽,可惜这个属性只在标准浏览器中支持,ie不支持。placeholder在各浏览器中的
表现也不一样,普通的css无法更改其默认样式,这是因为浏览器使用了优先级更高的伪类重置了样式,我们只需要在css中重写改伪类即可。如
firefox:input:-moz-placeholder{color:#999}。

<form action="demo_form.asp" method="get">
<input type="search" name="user_search" placeholder="Search W3School" />
<input type="submit" />
</form>
第2个回答  2013-08-27
你这样写就可以了,不用想太多了
但是还要考虑一个问题就是”默认值“左右有空格时候的处理
var isDefault = $("#inputTxt").val();

//修改为
var isDefault = $("#inputTxt").val().replace(/(^\s*)|(\s*$)/g,"");本回答被提问者采纳
相似回答