我正在开发一个高级注册表单,我需要最后一部分的帮助...代码的想法是只有在确认所有表单输入时才激活提交按钮。 (这样我对人们来说更快,更漂亮,如果你问为什么......)但那并不是正在发生的事情......只有当我编辑最后一个输入(Captacha)时,如果所有输入都被确认,则激活提交按钮。可以在这里找到jQuery代码:http://pastebin.com/yLTYKkcD和页面(HTML结构+脚本)可以在这里找到:http://pastebin.com/7BnyQaN0(不包括Bootstrap CSS和JS,所以它可能看起来很难看)我是不是很擅长jQuery / JavaScript,所以请告诉我代码的错误以及我如何改进的好提示。
$(document).ready(function () {
var password = false;
var username = false;
var email = false;
var captacha = false;
var re = /^(([^<>()[\]\\.,#$%^&*!;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
$("[title!='']").qtip({
content: {
attr:"title"
},
style: {
classes:"qtip-bootstrap"
}
});
$("#username").change(function() {
var uname = $(this).val();
if (uname.length < 8) {
$(this).attr("title", "Username must be 8 or more characters long.");
$("#UG").attr("class", "form-group has-error");
username = false;
} else {
$.ajax({
url: "check.php?username=" + uname
}).done(function(data) {
if (data=="true") {
$("#username").attr("title", "All correct.");
$("#UG").attr("class", "form-group has-success");
username = true;
} else {
$("#username").attr("title", "Error - " + data);
$("#UG").attr("class", "form-group has-error");
username = false;
}
});
}
updateInfo();
});
function updateInfo() {
if (password && username && email && !captacha) {
/*$("#submit").prop("disabled", false);*/
$("#username").prop("disabled", true);
$("#email").prop("disabled", true);
$("#pass").prop("disabled", true);
$("#passr").prop("disabled", true);
$("#CG").slideDown(600);
} else {
if (password && username && email && captacha) {
$("#username").prop("disabled", false);
$("#email").prop("disabled", false);
$("#pass").prop("disabled", false);
$("#passr").prop("disabled", false);
$("#submit").prop("disabled", false);
$("#capt").prop("disabled", true);
$("#CG").slideUp(600);
} else {
$("#submit").prop("disabled", true);
}
}
}
$("#username").prop("disabled", false);
$("#email").prop("disabled", false);
$("#pass").prop("disabled", false);
$("#passr").prop("disabled", false);
$("#capt").prop("disabled", false);
$("#submit").prop("disabled", true);
updateInfo();