jquery - jquery中的禁用和启用按钮
问题描述
我希望在某些字段为空时禁用我的提交按钮,并在填写必填字段时启用。就我而言,当我从选项中选择提交按钮仍未启用时,我正在使用带有一些选项的选择标签。
$(document).ready(function() {
$(function() {
$('#sbtbtn').attr('disabled', 'disabled');
});
$('input[type=text],input[type=password],input[type=text]').keyup(function() {
if (
$('#target0').val() != '' &&
$('#target1').val() != '' &&
$('#target2').val() != '' &&
$('#target3').val() != '' &&
$('#target4').val() != '') {
$('#sbtbtn').removeAttr('disabled');
} else {
$('#sbtbtn').attr('disabled', 'disabled');
}
});
});
<title>Disable submit button until all form's fields are filled</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<div id="myDiv">
<center>
<form action="#" id="Once">
<table border="1">
<tr>
<td><strong>Sex:</strong></td>
<td>
<select type="select" name="sex" id="target0">
<option></option>
<option>male</option>
<option>female</option>
</select>
</tr>
<tr>
<td><strong>username:</strong></td>
<td><input type="text" name="username" id="target1" />
</tr>
<tr>
<td><strong>password:</strong></td>
<td><input type="password" name="password" id="target2" />
</tr>
<tr>
<td><strong>Confirm password:</strong></td>
<td><input type="password" name="password2" id="target3" />
</tr>
<tr>
<td><strong>Email</strong></td>
<td><input type="text" name="email" id="target4" />
</tr>
<tr>
<td colspan="2">
<center><input type="submit" value="submit" id="sbtbtn" /></center>
</td>
</tr>
</table>
</form>
</center>
</div>
解决方案
您没有会触发代码的事件select
change
。尝试以下操作:
$('input[type=text],
input[type=password],
input[type=text],
select').on("keyup change",function() {
演示
$(document).ready(function() {
$(function() {
$('#sbtbtn').attr('disabled', 'disabled');
});
$('input[type=text],input[type=password],input[type=text],select').on("keyup change",function() {
if ($('#target0').val() != '' &&
$('#target1').val() != '' &&
$('#target2').val() != '' &&
$('#target3').val() != '' &&
$('#target4').val() != '') {
$('#sbtbtn').removeAttr('disabled');
} else {
$('#sbtbtn').attr('disabled', 'disabled');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myDiv">
<center>
<form action="#" id="Once">
<table border="1">
<tr>
<td><strong>Sex:</strong></td>
<td>
<select type="select" name="sex" id="target0">
<option></option>
<option>male</option>
<option>female</option>
</select>
</tr>
<tr>
<td><strong>username:</strong></td>
<td><input type="text" name="username" id="target1" />
</tr>
<tr>
<td><strong>password:</strong></td>
<td><input type="password" name="password" id="target2" />
</tr>
<tr>
<td><strong>Confirm password:</strong></td>
<td><input type="password" name="password2" id="target3" />
</tr>
<tr>
<td><strong>Email</strong></td>
<td><input type="text" name="email" id="target4" />
</tr>
<tr>
<td colspan="2">
<center><input type="submit" value="submit" id="sbtbtn" />
</td>
</form>
</center>
</div>
推荐阅读
- simulink - 在 FMIKit-Simulink 中创建所有当前变量及其各自值的列表
- ms-word - 如何使用openxml合并具有不同标题的word文档?
- python - 如何使用 h5py 模块访问存储在 .mat 文件中的单元格变量?
- javascript - API 数据不能在 innerHTML 中放置数组
- single-page-application - 方便的微前端框架?
- python - 带有 method=None (默认值)的 Pandas fillna 会引发错误
- javascript - 似乎元素就像一个伪窗口元素或视图容器元素?
- flutter - Flutter image_picker 0.4.12+1 未从相机返回
- react-native - React Native - 是否有可靠的地理围栏包可用?
- git - git log:列出两个给定提交“之间”的提交