我想删除禁用提交表单按钮的类。我可以在用户开始在表单中键入时执行此操作吗?按钮的id为"add",类为"disabled"。
这是html表单
<form id="form" class="col-lg-12 col-md-12 col-sm-12 col-xs-12" action="index.php" method="post" >
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<label>SlackSpot Name</label>
<input type="text" class="form-control required" placeholder="Spot Name" name="nome" id="nome">
<label>SlackSpot Description</label>
<textarea class="form-control required" rows="3" name="descrizione" placeholder="Description" id="descrizione"></textarea>
</div>
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<label>SlackSpot Latitude</label>
<input type="text" class="form-control required" placeholder="latitude" name="latitudine" id="lat" title="Insert your Spot latitude or live the geolocation value">
<label>SlackSpot Longitude</label>
<input type="text" class="form-control required" placeholder="longitude" name="longitudine" id="lon" title="Insert your Spot longitude or live the geolocation value">
</div>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 row">
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
<input class="btn btn-default pull-right disabled" type="submit" value="Add Spot" id="add">
</div>
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
<button type="button" class="btn btn-danger pull-right" id="close">
<span class="glyphicon glyphicon-remove"> Close</span>
</button>
</div>
这是我jquery代码
$("#nome,#lat,#lon").on('keyup', function (e) {
if ($(this).val().length == 0) {
$('#add').prop("disabled", true);
} else {
$('#add').prop("disabled", false);
}
})
3条答案
按热度按时间rryofs0p1#
使用按键:
8aqjt8rx2#
补充Bhojendra Nepal的回答:
1)“keyup”事件更适合此处。
2)您可以尝试在提交输入按钮上使用“disabled”属性而不是另一个类。它看起来很适合您的情况。
(更新为使用
.prop()
而不是.attr()
,这似乎更合适。感谢war 10 ck指出这一点!)小提琴:http://jsfiddle.net/44ewj7hs/2/
编辑:正如@Teemu在评论中建议的那样,更好的主意是使用
input
事件(MDN)--一个问题是IE〈9中缺乏支持。tvz2xvvm3#
我的jQuery代码升级了。我希望按钮被禁用,直到“nome”、“lon”和“lat”字段都为空。当然,按钮必须填充所有字段才能激活;如果只完成了“name“和“lon“而没有完成“lat“,则按钮仍然不活动。