Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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 ajax验证之前需要注入客户端js验证_Javascript_Jquery_Ajax_Validation - Fatal编程技术网

Javascript 在jquery ajax验证之前需要注入客户端js验证

Javascript 在jquery ajax验证之前需要注入客户端js验证,javascript,jquery,ajax,validation,Javascript,Jquery,Ajax,Validation,我在让我的validate(form)函数“在”我的ajax函数之前运行时遇到问题。任何关于如何将两者结合在一起并在提交表单时按顺序运行的建议都将非常有用。。谢谢 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> <script type="text/javascript" src="

我在让我的validate(form)函数“在”我的ajax函数之前运行时遇到问题。任何关于如何将两者结合在一起并在提交表单时按顺序运行的建议都将非常有用。。谢谢

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
    <script type="text/javascript" src="includes/JSValidation.js"></script>
    <script type="text/javascript">


     // These first three lines of code compensate for Javascript being turned on and off. 
    // It simply changes the submit input field from a type of "submit" to a type of "button".

var paraTag = $('input#submit').parent('p');
$(paraTag).children('input').remove();
$(paraTag).append('<input type="button" name="submit" id="submit" value="Contact Us!" />');

    $(function() {
$('#contactForm input#submit').click(function() {
$('#contactForm').append('<img src="ajax-loader.gif" class="loaderIcon" alt="Loading..." />');
        var firstname = $('input#firstname').val();
        var lastname = $('input#lastname').val();
        var email = $('input#email').val();
        var message = $('textarea#message').val();

        $.ajax({
            type: 'post',
            url: 'email.php',
            data: 'firstname=' + firstname + '&lastname=' + lastname + '&email=' + email + '&message=' + message,

            success: function(results) {
                $('#contactform img.loaderIcon').fadeOut(1000);
                    $('td#response').html(results);
            }
        }); //end ajax
});
 });



 //Validation
 function validate(form){
var firstName = form.firstname.value;
var lastName = form.lastname.value;
var email = form.email.value;
var subject = form.subject.value;
var message = form.message.value;
var errors = [];

if (!reProperName.test(firstName)) {
    errors[errors.length] = "You must enter a valid first name.";
}

if (!reProperName.test(lastName)) {
    errors[errors.length] = "You must enter a valid last name.";
}

if (!reEmail.test(email)) {
    errors[errors.length] = "You must enter a valid email address.";
}

if (checkTextArea(message,1000)) {
    errors[errors.length] = "Your message is too long.  It must be less than 100 characters.";
}

if (errors.length > 0) {
    reportErrors(errors);
    return false;
}
submitForm(contactForm);
return true;

 }

 function reportErrors(errors){
var msg = "There were some problems...\n";
for (var i = 0; i<errors.length; i++) {
    var numError = i + 1;
    msg += "\n" + numError + ". " + errors[i];
}
alert(msg);
 }
 </script>
 </head>
 <body>
 <div id="wrap">
 <?php
 require 'includes/header.php';
 ?>
<div id="main">
    <h1 align="center">Contact Form:</h1>
    <div>
        <form method="post" id="contactForm" autocomplete="on" onclick="return validate(this);"  action="includes/email.php">
         <table width="350" border="0" align="center" cellpadding="4" cellspacing="0">
          <tr> 
            <td><label>Your First Name:</label></td>
            <td><input type="text" name="firstname" id="firstname" style="width:100%" />     </td>
          </tr>
          <tr> 
            <td><label>Your Last Name:</label></td>
            <td><input type="text" name="lastname" id="lastname" style="width:100%" /></td>
          </tr>
          <tr> 
            <td><label>Your Email:</label></td>
            <td><input type="text" name="email" id="email" style="width:100%" /></td>
          </tr>
          <tr> 
            <td colspan="2">
                <label>Your Message:</label><br /><br />
                <textarea name="message" style="width:100%;height:160px" id="message"></textarea>
            </td>
          </tr>
          <tr align="center"> 
            <td colspan="2"><input type="submit" name="submit" value="Contact Us!" id="submit"></td>
          </tr>
          <tr align="center">
            <td colspan="2" id="response" />
          </tr>
        </table>

        </form> 
     </div>                  

 <div class="push" />
 </div>
 <?php
  require 'includes/footer.php';
 ?>
 </body>

//前三行代码补偿了Javascript的开启和关闭。
//它只是将提交输入字段从“提交”类型更改为“按钮”类型。
var paraTag=$('input#submit')。父项('p');
$(paraTag).children('input').remove();
$(paraTag)。附加(“”);
$(函数(){
$(“#联系人表单输入#提交”)。单击(函数(){
$('#contactForm')。附加('');
var firstname=$('input#firstname').val();
var lastname=$('input#lastname').val();
var email=$('input#email').val();
var message=$('textarea#message').val();
$.ajax({
键入:“post”,
url:'email.php',
数据:“firstname=”+firstname+”&lastname=”+lastname+”&email=“+email+”&message=”+message,
成功:功能(结果){
$(“#contactform img.loaderIcon”).淡出(1000);
$('td#response').html(结果);
}
});//结束ajax
});
});
//验证
函数验证(表单){
var firstName=form.firstName.value;
var lastName=form.lastName.value;
var email=form.email.value;
var subject=form.subject.value;
var message=form.message.value;
var错误=[];
如果(!reProperName.test(firstName)){
错误[errors.length]=“您必须输入有效的名字。”;
}
如果(!reProperName.test(lastName)){
错误[errors.length]=“您必须输入有效的姓氏。”;
}
如果(!reEmail.test(电子邮件)){
错误[errors.length]=“您必须输入有效的电子邮件地址。”;
}
如果(检查文本区域(消息,1000)){
errors[errors.length]=“您的邮件太长,必须少于100个字符。”;
}
如果(errors.length>0){
报告错误(错误);
返回false;
}
提交表格(联系表格);
返回true;
}
函数报告错误(错误){
var msg=“出现了一些问题…\n”;
对于(var i=0;i

如下更改验证功能

function validate() {
    var firstName = $("#firstname").val();
    var lastName = $("#lastname").val();
    var email = $("#email").val();
    var subject = $("#subject").val();
    var message = $("#message").val();

    ***************
}
并更改jQuery事件

$(function () {
    $('#contactForm #submit').click(function (e) {
        e.preventDefault();
        if (validate()) {
            // Ajax code
        }else{
            // not valid
        }
    });
});