当只有空格和分隔线时,此代码应该清除textarea但是如果你只按回车就会留下一个断裂线...我怀疑我的代码使得输入sendComment和shift +输入breakline作为行为不端的部分......
使用Javascript:
<script type='text/javascript'>
function sendComment(id)
{
var comMessage = $("#com"+id);
var cmessage = comMessage.val();
cmessage = cmessage.replace(/(\r\n|\n|\r)/gm,"");
cmessage = cmessage.split(' ').join('');
if(cmessage == "")
{
$("#comstatus"+id).html("<br><b style='color:red;border:2px solid red;'>Please type a message</b><br><br>").show().fadeOut(6000);
$('#com'+id).text(cmessage);
$('#com'+id).val(cmessage);
$("#com"+id).html(cmessage);
$("#com"+id).attr("value", cmessage);
}
}
</script>
输入发送消息并使shift +输入断行
的代码 <script type='text/javascript'>
<!--
var isShift=null;
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
var OP = (navigator.appName.indexOf("Opera")!=-1);
if (OP) isNN=true;
var key;
function shift(event){
key = (isNN) ? event.which : event.keyCode;
if (key==16)isShift=1;
}
function process(event,id){
key = (isNN) ? event.which : event.keyCode;
if(document.layers&&event.modifiers==4){
isShift=1;
}
if (key==13&&isShift!=1){
sendComment(id);
}
if (key!=16) isShift=null;
}
//-->
</script>
HTML:
<textarea onkeypress='process(event, $idMe)' onkeydown='shift(event)' onfocus='commentboxfocus($idMe)' onblur='commentboxblur($idMe)' class='text' id='com$idMe' wrap='hard' style='wrap:hard;height:30px;width:100%;position:relative' name='comment'>Type a comment!</textarea>
希望你能帮助我!提前谢谢!
答案 0 :(得分:1)
您只需要取消该活动以防止它向上冒泡:
if(cmessage == "")
{
$("#comstatus"+id).html("<br><b style='color:red;border:2px solid red;'>Please type a message</b><br><br>").show().fadeOut(6000);
$('#com'+id).val(cmessage);
return false;
}
然后将通话更改为:
onkeypress='return process(event, $idMe);'