默认禁用,每个input blur检查是否已经输入,输入允许提交
<style>
div.form {text-align:center}
div.form input{border-radius:5px;border:solid 2px #666;width:150px;margin-bottom:5px;text-align:center}
div.form input.submit{width:200px;color:#fff;background:#666}
div.form input.ok{background:#e4a21a;;border-color:#e4a21a}
</style>
<div class="form" id="dvForm">
<form>
<input placeholder="姓名" /><br />
<input placeholder="年龄" /><br />
<input placeholder="手机号码" /><br />
<input type="submit" value="提交" class="submit" />
</form>
</div>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script>
$('#dvForm :text').blur(function () {
var ok = true;
$('#dvForm :text').each(function () { if ($.trim(this.value) == '') { ok = false; return false } });
$(':submit', '#dvForm').attr('disabled', !ok)[ok?'addClass':'removeClass']('ok');
}).eq(0).trigger('blur');
</script>
给按钮加个onchange函数,当按钮有输入,值改变之后触发,函数遍历所有的input,加个判断,当每个都有值之后,改变提交按钮的样式,并使他可用
初始化时按钮添加disabled属性就不响应事件;
每个输入框都添加 onchange 事件处理函数,判断是不是所有输入框都已经填写正确,
如果是填写正确,则去掉 按钮的disabled属性;
提交信息有效性判断要为 form 添加 onsubmit 事件处理程序;
<meta charset="utf-8">
<form>
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
<input type="text"><br>
<input type="submit" value="提交" class="submit" disabled>
</form>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script>
$(function () {
$("input:text").change(function () {
var ok = true;
$("input:text").each(function () {
if (this.value.trim() == '') {
ok = false;
return false
}
});
$("input:submit").attr("disabled", ok ? false : true);
$("input:submit").css("background-color", ok ? "yellow" : "white")
})
})
</script>
手机端 忽略 IE9 以下
oninput 事件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
.btn{
display: inline-block;
height: 30px;
line-height: 30px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
background-color: indianred;
color: black;
padding: 10px 20px;
}
input{
height: 30px;
}
</style>
</head>
<body>
<h1>Snapshots</h1>
<form name="demo">
<input name="uname" oninput="csle(this)">
<input name="pwd" oninput="csle(this)">
<a class="btn">xxx</a>
</form>
<script>
function csle(_this) {
console.log(_this.name +":"+ _this.value)
}
</script>
</body>
</html>