我正在使用input
textarea
和input
button
。当button
和disabled
为空时,我需要input
为textarea
。
这是 Html
<input type="text" class="area">
<textarea name="testo" class="area" cols="30" rows="10"></textarea>
<input type="button" class="btn" value="send" disabled>
的Javascript
$('.area').on('keyup' , function() {
if( $('input').val().length > 0 && $('textarea').val().length > 0 ){
$('.btn').prop('disabled', false);
}
else {
$('.btn').prop('disabled', true);
}
});
它工作正常但是,如果按spacebar
并键入blank
字符,则length
不再是< 0
,因此{{1不再是button
。我该如何防止这种情况?
答案 0 :(得分:7)
使用$.trim()
清除前导和尾随空格中的值
if( $.trim($('input').val()).length > 0 && $.trim($('textarea').val()).length > 0 ) {
}
答案 1 :(得分:2)
使用以下功能定义确保您具有“修剪”功能
if(typeof String.prototype.trim!=="function")
String.prototype.trim=function(){
return this.replace(/^\s+|\s+$/g,"")
}
现在你的代码不应该改变用户输入......但它应该能够检测用户是否只输入“空格”
$('.area').on('keyup' , function() {
if( $('input').val().trim().length > 0 && $('textarea').val().trim().length > 0 ){
$('.btn').prop('disabled', false);
} else {
$('.btn').prop('disabled', true);
}
});
答案 2 :(得分:1)
<form>
<input type="text" id="text1" value="name"/>
<textarea type="text" id="text2"></textarea>
<input type="button" id="button1" value="click">click</button>
</form>
if( $('#text1').val().length > 0 && $('text2').val().length > 0 ){
$('#button1').prop('disabled', false);
}
else {
$('#button1').prop('disabled', true);
}
答案 3 :(得分:0)
$('.area').on('keyup' , function() {
if($.trim($('input').val()).length > 0 && $.trim($('textarea').val()).length > 0 ){
$('.btn').prop('disabled', false);
}
else {
$('.btn').prop('disabled', true);
}
});
答案 4 :(得分:0)
使用jquery的trim
函数:
$('.area').on('keyup' , function() {
if($.trim($('input').val()).length > 0 && $.trim(($('textarea').val()).length > 0 ){
$('.btn').prop('disabled', false);
}
else {
$('.btn').prop('disabled', true);
}
});
答案 5 :(得分:0)
[见下面的链接。在这里,我得到了这个问题的答案] [1]
$(document).ready(function(){
$("#txtNoSpaces").keydown(function(event) {
if (event.keyCode == 32) {
event.preventDefault();
}
});
});