textarea判断为空(包括不可见字符)

tina2elva 2004-12-02 09:07:03
<textarea name="aa" onkeydown="down();"></textarea>
<input type="submit">
down();函数是当按键是回车时触发submit按钮,在onsubmit事件中判断textarea是否为空,
问题时当按键是回车时textarea就有了个换行符,textarea就不为空了,如果过滤像回车这种
不可见字符??????并且当是回车字符时,光标回退,不让输入回车字符
...全文
571 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
JK_10000 2004-12-02
  • 打赏
  • 举报
回复
个人想法,错了勿怪:

textarea的标准做法就是敲回车就当他敲回车
如果客户提出要在textarea里敲回车当提交
那就直接拒绝(客户是一个随机的用户代表,程序员却能代表专家)
上帝要犯错时摩西还直言指正呢
编程的怎能答应客户的这样的需求来误导他。
JK_10000 2004-12-02
  • 打赏
  • 举报
回复
要是要求不合理
却从了他
与其说是解决问题
不如说是误导
tina2elva 2004-12-02
  • 打赏
  • 举报
回复
to:
shyslysky(飞天)
光标没法重定位到textarea,看不到效果
shyslysky 2004-12-02
  • 打赏
  • 举报
回复
function down(){
if(event.keyCode==13){
event.keyCode=9;
document.f.s.click();
return false
}
}
tina2elva 2004-12-02
  • 打赏
  • 举报
回复
问题基本解决,谢谢各位了
to:
meizz(梅花雪),为什么还是会有一行,也就是光标在第二行
shyslysky 2004-12-02
  • 打赏
  • 举报
回复
function chk(){
var val=document.f.aa.value

if(val.replace(/\s/g,"")==""){
alert("不能为空")
return false
}
return true
}
tina2elva 2004-12-02
  • 打赏
  • 举报
回复
能办到嘛???????????
JK_10000 2004-12-02
  • 打赏
  • 举报
回复
textarea 不让输入回车
这主意不知是谁想的
很有创意啊
tina2elva 2004-12-02
  • 打赏
  • 举报
回复
<BODY >
<form name =f onsubmit="return chk();" action="a.asp">
<textarea name="aa" onkeydown="down();" ></textarea>
<input name=s type="submit" >
</form>
</BODY>
<Script language="javascript">
function down(){
if(event.keyCode==13){
document.f.s.click();
return false
}
}
function chk()
{
if (document.f.aa.value=='')
{
alert("ffff");
document.f.aa.focus();
return false;
}
}
</script>

你试一下,是输进去的
meizz 2004-12-02
  • 打赏
  • 举报
回复
写了一个替换式, 可以把textarea域里的所有不可见字符去掉:
<textarea id=txt></textarea>
<input type=button value=mm
onclick="txt.value=txt.value.replace(/^\s*|[\x00-\x1f]|\s*$/g, '')">

你可以这样判断它的内容是否为空:
if(txt.value.replace(/^\s*|[\x00-\x1f]|\s*$/g, '') == '')
shyslysky 2004-12-02
  • 打赏
  • 举报
回复
textarea的换行没有写进去,所以还是为空啊
你换成以下的看看textarea的内容就知道了

onsubmit="alert(escape(document.f.aa.value))"
tina2elva 2004-12-02
  • 打赏
  • 举报
回复
这个我知道,主要是判断为空的时候,因为你回车时textarea也换行了,
就不为空了,这种情况我要当作是空
shyslysky 2004-12-02
  • 打赏
  • 举报
回复
<BODY >
<form name =f onsubmit="alert(document.f.aa.value=='')">
<textarea name="aa" onkeydown="down();" ></textarea>
<input name=s type="submit" >
</form>
</BODY>
<Script language="javascript">
function down(){
if(event.keyCode==13){
document.f.s.click()
return false
}
}
</script>
shyslysky 2004-12-02
  • 打赏
  • 举报
回复
<textarea name="aa" onkeydown="down();"></textarea>
<input name=s type="submit">

function down(){
if(event.keyCode==13){
document.all.s.click()
return false
}

}
alern_zyb 2004-12-02
  • 打赏
  • 举报
回复
替换chr(13)

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧