日期:2014-05-16  浏览次数:20767 次

当文本字段失去聚焦,如何给文本字段赋值呢?

<script language="javascript">
function a4()
{
var a=document.getElementById("sousuo1").value;
if (a=="")
{
a="请输入供应产品名称..";
//alert("请选择一个市地区。");
return false;
}
else
{
return true;
}
}
</script>
<form name="form1" id="biaodan1" method="post" action="gongyingshang3.asp">
<table border="0">
<tr>
<td>
<input name="sousuo1" type="text" id="sousuo1" style="height:28px;" value="" size="60" onBlur="a4();">
<td>
</tr>
</table>
</form>
当文本字段失去聚焦,如何给文本字段赋值呢?
请路过的前辈指点一二。

------解决方案--------------------
a得到的是text框的值这个字符串,而不是text框的值这个对象,所以修改a并没有修改text框的值。


function a4()
{
var tag =  document.getElementById("sousuo1");
if (tag.value=="")
{
tag.value="请输入供应产品名称..";
//alert("请选择一个市地区。");
return false;
}
else
{
return true;
}
}



------解决方案--------------------
其实不需要外部的js这么复杂,只要一个input就可以了。
另外最好加上onFocus,否则用户再次填写的时候很麻烦:
<input type="text" name="account" value='请输入供应产品名称..' onFocus="if(this.value=='请输入供应产品名称..'){this.value=''}" onblur="if(this.value==''){this.value='请输入供应产品名称..'}"/>

------解决方案--------------------
function a4()
{
var a=document.getElementById("sousuo1")//.value;
if (a==""
------解决方案--------------------
a.value=="请输入供应产品名称..")
{
a.value="请输入供应产品名称..";
//alert("请选择一个市地区。");
return false;
}
else
{
return true;
}
}

------解决方案--------------------
function a4()
{
var a=document.getElementById("sousuo1")//.value;
if (a.value==""
------解决方案--------------------
a.value=="请输入供应产品名称..")///更正..
{
a.value="请输入供应产品名称..";
//alert("请选择一个市地区。");
return false;
}
else
{
return true;
}
}

------解决方案--------------------
document.getElementById("sousuo1")这样得到的是DOM对象,按照C的说法就是指针引用

document.getElementById("sousuo1").value这样得到的是DOM的value,值引用,修改这个不会更改对象的值