Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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_Jquery Validate - Fatal编程技术网

Javascript jQuery验证程序不工作

Javascript jQuery验证程序不工作,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我已经为我的网站添加了jQuery验证,用于上传广告文件。。 我不知道为什么,但这不起作用 HTML文件如下所示: <form enctype="multipart/form-data" action="upload_data.jsp" id="formToPushAd" method="post"> <table> <tr> <td width="100px">Ad Image:</td&

我已经为我的网站添加了jQuery验证,用于上传广告文件。。 我不知道为什么,但这不起作用

HTML文件如下所示:

<form  enctype="multipart/form-data" action="upload_data.jsp"  id="formToPushAd" method="post">
    <table>
        <tr>
            <td width="100px">Ad Image:</td>
            <td><input type="file" name="file"/></td>
        </tr>  
        <tr>
            <td width="100px">Ad URL:</td>
            <td><input type="text" name="adUrl"/></td>
        </tr>  
        <tr>
            <td>Starting Date:</td>
            <td><input type="text" id="datepicker1" name="datepicker1" /></td>
        </tr>       
        <tr>
            <td>Ending Date:</td>
            <td><input type="text" id="datepicker2" name="datepicker2" onchange="dateSelected()"/></td>
        </tr>
        <tr>
            <td><input type="submit"/></td>

问题是什么?

我认为您没有包括
jQuery
validate
库,因为当您将它们添加到标题中时,它可以正常工作

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js"></script>

广告图片:
广告网址:
开始日期:
截止日期:

将$().ready(function()更改为$(document).ready(function())并确保页面上包含了插件文件和jquery.min文件。

您应该在表单上使用
onsubmit
来验证数据。您还应该调用
e.preventDefault()
,这将防止表单多次触发

演示:


广告图片:
广告网址:
开始日期:
截止日期:
功能验证数据(e){
e、 预防默认值();
规则:{
文件:{
必填项:true
},
阿杜尔:{
要求:正确,
网址:true
},
日期选择器1:{
要求:正确,
日期:对
},
日期选择器2:{
要求:正确,
日期:对,
}
},
消息:{
文件:{
必需:“请选择一个频率”
},
阿杜尔:{
必填:“请输入广告url”
},
日期选择器1:{
必填:“请输入日期”,
日期:“请输入有效日期”
},
日期选择器2:{
必填:“请输入日期”,
日期:“请输入有效日期”
}
}
}

那么问题出在哪里???控制台中出错?等等…我想替换这个标记…datepicker2:{required:true,date:true}.validate函数找不到“
.validate()
函数找不到”这意味着您未能正确地包含插件。否则,您的代码将正常工作:谢谢您的帮助。虽然这两种语法都有效,但将其绑定到文档是首选方法,我为它们提供了正确的方法,不确定需要验证什么,所以这是灵活的,我在这里说的是Submit,我们可以称为f函数中,提供一个e.preventDefualt(),该函数将阻止它执行多次,然后验证它们想要执行的操作。OP专门询问如何使用。您只需粘贴包含用于
.validate()的规则和选项的对象文本
方法转换为JavaScript函数。您还使用了内联JavaScript,这在使用jQuery时是不必要的。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js"></script>
<form  enctype="multipart/form-data" action="#"  id="formToPushAd" method="post" onsubmit="validateData(event)">
  <table>
    <tr>
        <td width="100px">Ad Image:</td>
        <td><input type="file" name="file"/></td>
   </tr>  
   <tr>
        <td width="100px">Ad URL:</td>
        <td><input type="text" name="adUrl"/></td>
   </tr>  
   <tr>
        <td>Starting Date:</td>
        <td><input type="text" id="datepicker1" name="datepicker1"/></td>
   </tr>       
   <tr>
        <td>Ending Date:</td>
        <td><input type="text" id="datepicker2" name="datepicker2" onchange="dateSelected()"/></td>
   </tr>
   <tr>
        <td><input type="submit"/></td>
   </tr>
</form>
<script>
function validateData(e){
     e.preventDefault();
     rules:{
        file:{
            required:true
        },
        adUrl:{
            required:true,
            url:true
        },
        datepicker1:{
            required:true,
            date:true
        },
        datepicker2:{
            required:true,
            date:true,
        }
    },
    messages:{      
        file:{
            required:"Please Select a frequency"
        },
        adUrl:{
            required:"Please enter ad url"
        },
        datepicker1:{
            required:"Please Enter a date",
            date:"Please Enter a valid date"    
        },
        datepicker2:{
            required:"Please Enter a date",
            date:"Please Enter a valid date"
        }
    }
}
</script>