我想在输入字段(id =" valagency")为空时隐藏按钮链接(id =" btnsubmit"),以便我的用户只能点击输入字段后面的按钮填充了一些数据。
对于html部分,我有
<tr>
<td class="tbldatastart">
<input type="text" id="**valagency**" name="agencyname<%= strAgencyId %>" class="btn10" readonly>
<input type="text" name="agencyid<%= strAgencyId% >">
<a href="javascript:Map('<%= strAgencyId %>');" class="btn1">Map</a>
</td>
</tr>
<tr>
<td colspan="2"></td>
<td><a href="javascript:Submit()" id="btnsubmit" class="btn1">Submit</a></td>
</tr>
对于javascript,我有
function Submit() {
$("#valagency").keyup(function(){
if($(this).val()) {
$("#btnsubmit").show();
} else {
$("#btnsubmit").hide();
}
});
}
提交按钮仍然存在。我不知道我做错了什么。请帮忙。
提前致谢。
答案 0 :(得分:3)
您正在调用函数提交,此时您的启用禁用按钮代码将会执行。
您需要独立使用该代码而不是提交电话。
将以下代码放在提交功能之外:
$("#valagency").keyup(function(){
if($(this).val() == "") {
$("#btnsubmit").show();
} else {
$("#btnsubmit").hide();
}
});
如果您想要停用提交提交按钮,请点击您在使用keyup
活动时的可能性。
如果您想在提交按钮上单击,则需要使用keyup
。
如果您想使用keyup
,则代码将超出submit
功能。
Keyup无法将数据粘贴到输入。 为此,请考虑this 示例。
<input type="text" name ="mytxt" id="mytxt">
<a href="#" id="btnsubmit" class="btn1">Submit</a>
$('input[name=mytxt]').change(function() {
if($(this).val() == "") {
$("#btnsubmit").hide();
} else {
$("#btnsubmit").show();
}
});
如果您想在页面加载时隐藏按钮,则可以使用https://jsfiddle.net/kurbhatt/m06yywmn/2/
答案 1 :(得分:0)
问题是您在点击提交按钮时正在运行keyup()
功能。这将永远不会执行。只需在此按钮单击之外移动keyup()
功能即可。您还希望默认隐藏#btnsubmit
。
这是一个最小的例子:
$("#btnsubmit").hide();
$("#valagency").keyup(function() {
if ($(this).val()) {
$("#btnsubmit").show();
} else {
$("#btnsubmit").hide();
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="valagency">
<a href="#" id="btnsubmit" class="btn1">Submit</a>
&#13;
希望这有帮助! :)
答案 2 :(得分:0)
使用change事件来获取输入字段的最终值并检查它是否空虚,而不是键盘事件。
答案 3 :(得分:0)
它只与输入keyup事件有关,因此如果要检查输入的值以隐藏/显示按钮。使用'submit'使其独立,它应该在'submit'之前隐藏/显示。
function submit() {
//do something
}
$("#valagency").keyup(function(){
if($(this).val() == "") {
$("#btnsubmit").show();
} else {
$("#btnsubmit").hide();
}
});