$(document).ready(function() {
$("#submit").click(function(event) {
if ($("#name").val() == '')
{
event.preventDefault();
$("#name").css("border", "solid 2px #ff0000");
}
else if ($("#day").val() == '')
{
event.preventDefault();
$("#day").css("border", "solid 2px #ff0000");
}
else if ($("#month").val() == '')
{
event.preventDefault();
$("#month").css("border", "solid 2px #ff0000");
}
else if ($("#year").val() == '')
{
event.preventDefault();
$("#year").css("border", "solid 2px #ff0000");
}
else if ($("#email").val() == '')
{
event.preventDefault();
$("#email2").css("border", "solid 2px #ff0000");
}
else if ($("#pass").val() == '')
{
event.preventDefault();
$("#pass").css("border", "solid 2px #ff0000");
}
else if ($("#pass2").val() == '')
{
event.preventDefault();
$("#pass2").css("border", "solid 2px #ff0000");
}
else
{
$("#submit").submit();
}
});
});
所以我逐个检查,如果字段为空,如果是,则会用红色标记边框。 如果没有,请提交()。
但那太乱了,有没有办法缩短它?
喜欢使用数组吗?
答案 0 :(得分:3)
$(document).ready(function() {
$("#submit").on('click', function(e) {
e.preventDefault();
var valid = true;
$(':input', this.form).each(function(i, ele) {
if (ele.value.trim() == "") {
ele.style.border = '2px solid #ff0000';
valid = false;
}
});
if (valid) this.form.submit();
});
});
答案 1 :(得分:1)
arr = ['#name','#pass']; //etc
$.each(arr,function(i){
if ($(this).val()=='') {
e.preventDefault();
$(this).css(...);
}
});
答案 2 :(得分:0)
是的。
这样做的经典方法是在输入上添加class="required"
,然后执行:
var emptyInput = $('.required[value=""]')
if(emptyInput.length != 0){
event.preventDefault()
emptyInput.css("border", "solid 2px #ff0000")
}
如果您不想更改DOM,请更改:
var emptyInput = $('.required[value=""]')
为此:
var emptyInput = $('input:text[value=""]')