我的页面上有一个带有按钮的简单搜索输入字段。当用户在输入字段中插入4个以上字符时,搜索按钮被禁用,我将其激活。我已成功启用该按钮,但单击该按钮则什么也没发生。
<div class="input-group">
<span class="input-group-btn">
<button type="button" id="start-search" class="btn btn-primary" disabled="disabled"><i class="fa fa-search"></i></button>
</span>
<input type="text" autocomplete="off" id="input-code" name="code" class="form-control" placeholder="Search registration">
</div>
到目前为止有效的Javascript jQuery代码:当用户在输入字段中插入超过4个字符时,我成功启用了按钮。
$("#input-code").keyup(function() {
var char = $(this).val();
var charLength = $(this).val().length;
var regex = new function() {
this.noPrefix = /^[a-zA-Z]{4}$/;
this.foreignPrefix = /^[^iI]-/;
}
var code = char.toUpperCase(char);
if (regex.withPrefix.test(char) || regex.noPrefix.test(char))
{
if (regex.noPrefix.test(char))
{
code = 'I-' + code;
}
$(this).attr("placeholder", code).val("").blur();
}
else
{
if(charLength > 4 ){
$( "#start-search" ).prop("disabled", false);
}
}
});
无效的代码。当我单击按钮时,什么都没发生。
$('#start-search').click(function(){
if (this.id == 'start-search') {
alert('Submit 1 clicked');
};
var code = $('#input-code').val();
code = code.toUpperCase(code);
console.log("Looking for " + code + " registration");
$('#input-code').attr("placeholder", code).val("").blur();
searchData(code);
});
我添加了console.log和警报代码,仅用于调试。 如果我删除了禁用的属性,则按钮可以正常工作……我缺少什么?
还有一个问题:如何将数据结构对象传递给searchData函数?现在,我只是传递一个变量。 非常感谢您的帮助和提示。
当用户在输入字段中插入超过4个字符时,按钮将被激活;单击它,我应该调用searchData函数来检索和显示其他信息。