禁止提交空白输入和文本区域
Prevent submitting blank input and textarea
我使用的是input
、textarea
和input
button
。当input
和textarea
为空时,我需要button
为disabled
。
这是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
,因此button
不再是disabled
。我该如何防止这种情况发生?
使用$.trim()
清除前导和尾随空格的值
if( $.trim($('input').val()).length > 0 && $.trim($('textarea').val()).length > 0 ) {
}
使用以下函数定义,确保您有可用的"trim"函数
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);
}
});
<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);
}
$('.area').on('keyup' , function() {
if($.trim($('input').val()).length > 0 && $.trim($('textarea').val()).length > 0 ){
$('.btn').prop('disabled', false);
}
else {
$('.btn').prop('disabled', true);
}
});
使用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);
}
});
[参见下面的链接。在这里我得到了这个问题的答案][1]
$(document).ready(function(){
$("#txtNoSpaces").keydown(function(event) {
if (event.keyCode == 32) {
event.preventDefault();
}
});
});
http://jsfiddle.net/jquerybyexample/MwEkj/
相关文章:
- onkeyup无法动态创建多个文本区域
- 具有所有样式的文本正在复制到可编辑文本区域
- 在文本区域POST后解码JSON
- 在文本区域中使用jQuery.text()保持换行符
- ng在下拉列表和文本区域提交
- 将文本插入光标所在的文本区域
- 离开页面导航后保留文本区域内容
- Javascript-在文本区域中断,但不在段落中中断
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 测试文本区域中的特定文本格式
- 文本编辑后,append函数不适用于文本区域
- 如何在ReactJs中链接下拉列表和文本区域
- I'我试图在文本区域中进行特定的输入,调用特定的javascript函数,但没有成功;不起作用
- 使用JSON文件中的变量(字符串)填充文本区域
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 如何为动态创建的文本区域中输入的值更新ng模型
- 延迟高亮显示文本区域中的文本
- 将字母添加到文本区域的末尾
- TinyMCE在新添加的文本区域