Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery验证表单_Javascript_Jquery - Fatal编程技术网

Javascript Jquery验证表单

Javascript Jquery验证表单,javascript,jquery,Javascript,Jquery,我试图在提交时验证我的表单,如果输入都已填写,则提交到register.php 我的问题是,只有当所有输入都为空时,它才能工作——否则它会出错——我只是想在提交之前检查这些字段是否为空 function submitform() { if ($('#name, #email, #user, #address, #phone').val().length === 0) { $(this).addClass('warning'); } else { a

我试图在提交时验证我的表单,如果输入都已填写,则提交到register.php

我的问题是,只有当所有输入都为空时,它才能工作——否则它会出错——我只是想在提交之前检查这些字段是否为空

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();
    }
}