Javascript Jquery验证表单
我试图在提交时验证我的表单,如果输入都已填写,则提交到register.php 我的问题是,只有当所有输入都为空时,它才能工作——否则它会出错——我只是想在提交之前检查这些字段是否为空Javascript Jquery验证表单,javascript,jquery,Javascript,Jquery,我试图在提交时验证我的表单,如果输入都已填写,则提交到register.php 我的问题是,只有当所有输入都为空时,它才能工作——否则它会出错——我只是想在提交之前检查这些字段是否为空 function submitform() { if ($('#name, #email, #user, #address, #phone').val().length === 0) { $(this).addClass('warning'); } else { a
function submitform() {
if ($('#name, #email, #user, #address, #phone').val().length === 0) {
$(this).addClass('warning');
} else {
alert("form submitted");
}
}
您需要使用jquery中的
each
函数或for
循环检查它们中的每一个
$('#name, #email, #user, #address, #phone').each(function(){
if ($(this).val().length === 0){
$(this).addClass('warning');
} else {
alert("form submitted");
}
});
这里有一个相同的例子,有一个for
var formElements = $('#name, #foo');
for (i = 0 ; i < formElements.length ; i++)
{
if ( $(formElements[i]).val().length === 0 )
$(this).addClass('warning');
else {
alert("form submitted");
}
}
var formElements=$('#name,#foo');
对于(i=0;i
不能对数组执行.val。应该是
function submitform(){
var warning = false;
$('#name, #email, #user, #address, #phone').each(function() {
$(this).val().length === 0){
warning = true;
return;
}
});
if(warning) {
$(this).addClass('warning');
} else {
alert("form submitted");
}
}
函数formSubmit(){
var pass=真;
每个(jQuery('#form:input')、函数(键、值){
if(!this.value&&jQuery(this.attr('class:contains(“required”))){
if(jQuery(this).slides('.error').length==0&&jQuery(this).type!='submit'){
jQuery(this).after('*Required');
}
通过=错误;
}否则{
jQuery(this).sides('.error').remove();
}
});
如果(通过===真){
document.getElementById('form').submit();
}
}
你能试试=
而不是第2行的==
吗?如果所有字段都是空的,就不提交-如果一个字段有文本,其他字段都是空的,就提交,或者如果他们都有文本,反之亦然。你有没有看过你正在使用的jquery api的文档?@Andrew,我不太了解jquery,也许有更好的方法,但是试一下这个:if($('#name').val()>0)和($('#user').val()>0)…)alert('submitted')else alert('blank!')
BETTER WAY=Jorge的答案
function formSubmit() {
var pass = true;
jQuery.each( jQuery('#form :input'), function( key, value ) {
if(!this.value && jQuery(this).attr('class :contains("required")')) {
if (jQuery(this).siblings('.error').length === 0 && jQuery(this).type != 'submit') {
jQuery(this).after('<label class="error"><span class="form-required">*</span> Required</label>');
}
pass = false;
} else {
jQuery(this).siblings('.error').remove();
}
});
if (pass === true) {
document.getElementById('form').submit();
}
}