Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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
ajax提交期间Javascript表单验证不起作用_Javascript_Ajax - Fatal编程技术网

ajax提交期间Javascript表单验证不起作用

ajax提交期间Javascript表单验证不起作用,javascript,ajax,Javascript,Ajax,我面临一个问题。 我已经编写了验证输入字段的代码,并对其进行了测试,效果良好。然后,我使用jqueryajaxpost实现了表单提交。现在我的问题是,当我单击submit按钮时,前面实现的validate函数不再被调用。未经验证 在stackoverflow上发布了相同的问题,但这并不能解决我的问题 有人回答了这个问题 $('#submit').click(function (e){ e.preventDefault(); if(!$("form").valid()) re

我面临一个问题。 我已经编写了验证输入字段的代码,并对其进行了测试,效果良好。然后,我使用jqueryajaxpost实现了表单提交。现在我的问题是,当我单击submit按钮时,前面实现的validate函数不再被调用。未经验证

在stackoverflow上发布了相同的问题,但这并不能解决我的问题 有人回答了这个问题

$('#submit').click(function (e){
    e.preventDefault();   
    if(!$("form").valid()) return;

  ... 
});
我不知道如何使用上面的代码

HTML

<div class='well'>
  <form action="" method="post" class="contactf" name="contactform" onsubmit="return validd()">
    <div class='row'>
      <div class='col-sm-4'>
        <div class='form-group'>
          <label for='fname'>Name</label>
          <input type='text' name='namee' class='form-control' />
        </div>
        <div class='form-group'>
          <label for='number'>Number</label>
          <input type='number' name='numberr' class='form-control' />
        </div>
        <div class='form-group'>
          <label for='email'>Email</label>
          <input type='email' name='emaill' class='form-control' />
        </div>
        <div class='form-group'>
          <label for='subject'>Subject</label>
          <input type='text' name='subjectt' class='form-control' />
        </div>
      </div>
      <div class='col-sm-8'>
        <div class='form-group'>
          <label for='message'>Message</label>
          <textarea class='form-control' name='messagee' rows='10'></textarea>
        </div>
        <div class='text-right'>
          <input type='submit' name="contactsubmit" class='btn btn-primary' value='Submit' />
        </div>
      </div>
    </div>
  </form>
  <div class="thanks" style="display: none;">
    <h3>Thanks for Enquiry us..Our Team will contact you as soon as possible</h3>
  </div>
</div>

名称
数
电子邮件
主题
消息
感谢您的垂询,我们的团队将尽快与您联系
Javascript代码和Ajax

function validd() {
  var nam = document.contactform.namee.value;
  var number = document.contactform.numberr.value;
  var email = document.contactform.emaill.value;
  var subject = document.contactform.subjectt.value;
  var message = document.contactform.messagee.value;

  if (nam == "") {
    alert('Please Fill Your Name');
    document.contactform.namee.focus();
    return false;
  }

  if (number == "" || number == null) {
    alert('Please Enter Your Number');
    document.contactform.numberr.focus();
    return false;
  }

  if (number.length < 9) {
    alert('Please Enter Your Number at least 10 Digit');
    document.contactform.numberr.focus();
    return false;
  }


  if (email == "" || email == null) {
    alert('Enteryour Email');
    document.contactform.emaill.focus();
    return false;
  }

  if (subject == "" || subject == null) {
    alert('Please Fill Your Subject');
    document.contactform.subjectt.focus();
    return false;
  }

  if (message == "" || message == null) {
    alert('Please Fill Your Message');
    document.contactform.messagee.focus();
    return false;
  } else {
    return true;
  }
}
$(document).ready(function() {
  $(function() {
    $('.contactf').submit(function(e) {
      e.preventDefault();

      var form = $(this);
      var post_url = 'contact-enquiry.php';
      var post_data = form.serialize();
      $.ajax({
        type: 'POST',
        url: post_url,
        data: post_data,
        success: function(msg) {
          $(form).fadeOut(80, function() {
            form.html(msg).fadeIn().delay(100);
            $('.thanks').fadeIn();
          });

        }


      });

    });

  });
});
函数validd(){
var nam=document.contactform.namee.value;
var编号=document.contactform.numberr.value;
var email=document.contactform.emaill.value;
var subject=document.contactform.subjectt.value;
var message=document.contactform.messagee.value;
如果(nam==“”){
提醒(“请填写您的姓名”);
document.contactform.namee.focus();
返回false;
}
如果(数字==“”| |数字==null){
警报(“请输入您的号码”);
document.contactform.numberr.focus();
返回false;
}
如果(数字长度<9){
警报('请输入您的号码至少10位');
document.contactform.numberr.focus();
返回false;
}
如果(电子邮件==“”| |电子邮件==空){
提醒(“输入您的电子邮件”);
document.contactform.emaill.focus();
返回false;
}
if(subject==“”| | subject==null){
提醒(“请填写您的主题”);
document.contactform.subjectt.focus();
返回false;
}
如果(消息==“”| |消息==null){
提醒(“请填写您的信息”);
document.contactform.messagee.focus();
返回false;
}否则{
返回true;
}
}
$(文档).ready(函数(){
$(函数(){
$('.contactf').submit(函数(e){
e、 预防默认值();
变量形式=$(此);
var post_url='contact enquiry.php';
var post_data=form.serialize();
$.ajax({
键入:“POST”,
url:post_url,
数据:post_数据,
成功:功能(msg){
$(形式).fadeOut(80,函数(){
html(msg.fadeIn().delay(100);
$('.Thank').fadeIn();
});
}
});
});
});
});

您正在将事件侦听器添加到表单中。从表单中删除onsubmit事件侦听器,并在jQuery中调用
validd
函数作为

$('.contactf').submit(function(e) {
      e.preventDefault();
      if(!validd()) return false;
        ^^^^^^^^^^^^
如果函数
validd
返回false,它将阻止ajax调用

函数validd(){
var nam=document.contactform.namee.value;
var编号=document.contactform.numberr.value;
var email=document.contactform.emaill.value;
var subject=document.contactform.subjectt.value;
var message=document.contactform.messagee.value;
如果(nam==“”){
提醒(“请填写您的姓名”);
document.contactform.namee.focus();
返回false;
}
如果(数字==“”| |数字==null){
警报(“请输入您的号码”);
document.contactform.numberr.focus();
返回false;
}
如果(数字长度<9){
警报('请输入您的号码至少10位');
document.contactform.numberr.focus();
返回false;
}
如果(电子邮件==“”| |电子邮件==空){
提醒(“输入您的电子邮件”);
document.contactform.emaill.focus();
返回false;
}
if(subject==“”| | subject==null){
提醒(“请填写您的主题”);
document.contactform.subjectt.focus();
返回false;
}
如果(消息==“”| |消息==null){
提醒(“请填写您的信息”);
document.contactform.messagee.focus();
返回false;
}否则{
返回true;
}
}
$(文档).ready(函数(){
$(函数(){
$('.contactf').submit(函数(e){
e、 预防默认值();
如果(!validd())返回false;
变量形式=$(此);
var post_url='contact enquiry.php';
var post_data=form.serialize();
$.ajax({
键入:“POST”,
url:post_url,
数据:post_数据,
成功:功能(msg){
$(形式).fadeOut(80,函数(){
html(msg.fadeIn().delay(100);
$('.Thank').fadeIn();
});
}
});
});
});
});

名称
数
电子邮件
主题
消息
感谢您的垂询,我们的团队将尽快与您联系

我看不到您在调用验证函数?@kevinSpaceyIsKeyserSöze onsubmit=“return validd()”on field是验证函数为什么不在提交函数中调用valid?@Inderjeet删除onsubmit事件侦听器并在jQuery函数中调用该函数