在我的问题中,我需要你的帮助。我在弹出窗口中有textarea和按钮,并带有功能:
$(document).ready(function() {
$('input[type="submit"]').attr('disabled', false);
$('input[type="text"],textarea').on('keyup',function() {
var textarea_value = $("#id_get_post_description2").val();
var text_value = $('input[name="textField"]').val();
if(textarea_value != '' && text_value != '')
$('input[type="submit"]').attr('disabled' , false);
else
$('input[type="submit"]').attr('disabled' , true);
});
});
我正在检查textarea中的值元素,如果0禁用按钮。
但是我有bug,当我在其他弹出窗口中调用此函数时(在我清除textarea并且有禁用按钮之前)我的按钮禁用,默认情况下。 我怎么能解决这个问题?
带阶段的屏幕截图
答案 0 :(得分:0)
我建议将您的值输出到console.log以验证它们是否已定义并根据您的输入返回您期望的值。
类似的东西:
console.log('textarea_value ' + textarea_value);
然后使用浏览器调试窗口查看值
答案 1 :(得分:0)
此处查看this jsfiddle。
var textarea = $('#t');
var button = $('#b');
$(document).ready(function(){
lCheck();
textarea.on('keyup', lCheck);
});
function lCheck(){
if (textarea.val().length == 0) {
button.attr('disabled', 'true');
} else {
button.removeAttr('disabled');
}
}
我所做的是检查textarea值的长度。如果它是0我添加禁用,如果它大于0我删除禁用。
答案 2 :(得分:0)
我建议您将id
添加到按钮而不是选择$('input[type="submit"]')
,否则如果您有两个提交按钮作为输入字段,则所有按钮都将被禁用/启用。并使用jquery的.removeAttr()
$('#button_id').removeAttr('disabled');
答案 3 :(得分:0)
jquery建议使用.prop()
(自1.6起)对此类内容采取行动:http://api.jquery.com/prop/
$('input[type="submit"]').prop( "disabled", false );