问题:新建的textarea标签没有赋值初始化内容,但是录入的时候光标不在首行首位,js校验非空,校验不生效。
问题代码如下(两处有问题的地方):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
</HEAD>
<script language="javascript">
function isNull(){
var str=document.getElementById("textarea").value;
if(str==null||str==""){
alert("文本框内容为空");
}else{
alert("文本框内容为:"+str);
}
}
</script>
<BODY>
<textarea id="textarea">
</textarea>
<input type="button" value="点击测试" οnclick="isNull()">
</BODY>
</HTML>
问题1:js校验不严谨
var str=document.getElementById("textarea").value;
if(str==null || str==""){
alert("文本框内容为空");
}else{
alert("文本框内容为:"+str);
}
解决1(这种方式解决了校验,但是文本框格式显示):
var str=document.getElementById("textarea").value.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+$)/g, "");
if(str==null || str==""){
alert("文本框内容为空");
}else{
alert("文本框内容为:"+str);
}
问题2:html标签<textarea>书写有问题
<BODY>
<textarea id="textarea">
</textarea>
<input type="button" value="点击测试" οnclick="isNull()">
</BODY>
解决2:html标签<textarea></textarea>标签中间不要有空格和换行
<BODY>
<textarea id="textarea"></textarea>
<input type="button" value="点击测试" οnclick="isNull()">
</BODY>
总:正确的代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
</HEAD>
<script language="javascript">
function isNull(){
var str=document.getElementById("textarea").value.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+$)/g, "");
if(str==null || str==""){
alert("文本框内容为空");
}else{
alert("文本框内容为:"+str);
}
}
</script>
<BODY>
<textarea id="textarea"></textarea>
<input type="button" value="点击测试" οnclick="isNull()">
</BODY>
</HTML>