我有一个显示文本框的功能,但是当我没有在文本框中键入内容时,我的按钮没有被禁用。
$(document).ready(function () {
loadData();
function loadData(is_category) {
$(document).on('click', '.viewdetails', function () {
var html = '';
html += '<input type=text id="ConvoDetails">'<input type="submit" class="sendButton">';
},
$('.sendButton').prop('disabled', true);
$('#ConvoDetails').keyup(function () {
$('.sendButton').prop('disabled', this.value == "" ? true : false);
});
});
答案 0 :(得分:0)
简短修复:
$('.sendButton').prop('disabled', 'disabled');
但是,您可能需要更改代码以绑定到change
事件而不是keyup
事件。 keyup
经常被解雇,可能会导致延迟。
答案 1 :(得分:0)
在输入html中,您可以捕获诸如<input type=text id="ConvoDetails" onkeyup="onInputKeyUp(this)
这样的key up元素,然后可以捕获一个诸如onInputKeyUp(element) {}
这样的事件的函数。
此外,如果您将输入按钮默认设置为禁用,例如$('.sendButton').prop('disabled', true);
<input type="submit" class="sendButton" disable>
完整的代码示例:
$(document).ready(function () {
loadData();
function loadData(is_category) {
$(document).on('click', '.viewdetails', function () {
var html = '';
html += '<input type=text id="ConvoDetails" onkeyup="onInputKeyUp(this)"><input type="submit" class="sendButton" disable>';
});
});
onInputKeyUp(element) {
element.disabled = element.value == "";
}