[英]textarea doesn't clear totally?
當只有空格和換行符時,此代碼應清除文本區域,但是如果您僅按Enter鍵,它將留下換行符。我懷疑我的代碼使enter sendComment和shift + enter換行符成為行為不當的部分...
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 + Enter換行符的代碼
<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>
希望你能幫我! 提前致謝!
您只需要取消事件即可防止事件冒泡:
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);'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.