我正在使用以下代码从 textarea 发送一些值,但首先我想确保 Textarea 不为空,然后如果在按键“Enter”时不为空,则将值发送到 ajax。
问题是值长度计算换行符并且验证失败。另一个是换行,如何防止换行?
JavaScript
$(document).keypress(function(e) {
if(e.which == 13) {
if ($('.msgInput').val().length < 2){
alert ('No lol, your message is too short, type some more...')
} else {
var Msg = $('#Messageinput').val()
$.ajax({
type:"POST",
data: {
data:Msg
},
url:"../websocket-example-821156/client.php"
}).done(function(feedback){
$('#NewMessagesHolder').prepend('<div class="MessageClass ServerMessage">'+ '<span class="ChatName">Server ('+ time + ')</span>' + ':'+feedback+'</div>');
})
var text = $('.msgInput').val();
$('.msgInput').val("");
$('#NewMessagesHolder').prepend('<div class="MessageClass">'+ '<span class="ChatName">' + CookieName + ' ('+ time + ')</span>' + ': '+ text +'</div>')
}
}
});
最佳答案
您可以使用 jQuery.trim
删除开始和结束的换行符。这将使他至少放两个字符。与单个字符一样,您将删除换行符并保留字符。
if ($.trim($('.msgInput').val()).length < 2){
The $.trim() function removes all newlines, spaces (including non-breaking spaces), and tabs from the beginning and end of the supplied string. If these whitespace characters occur in the middle of the string, they are preserved, jQuery doc.
关于javascript - 如何防止文本区域中的换行符并阻止 Jquery 将换行符计为值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22087774/