Bootstrap 4 Bootstrap 4验证表单和$.ajax jquery提交

Bootstrap 4 Bootstrap 4验证表单和$.ajax jquery提交,bootstrap-4,Bootstrap 4,各位下午好, 我想提交一个带有bootstrap4验证和$.ajaxjquery的表单,但我不能这样做。验证表单的工作方式与您可以从JSFIDLE链接中看到的一样,但我无法插入jquery ajax调用 你能帮我吗 <form class="needs-validation" novalidate> <div class="form-row"> <div class="col-md-4 mb-3"> <label for="val

各位下午好,

我想提交一个带有bootstrap4验证和$.ajaxjquery的表单,但我不能这样做。验证表单的工作方式与您可以从JSFIDLE链接中看到的一样,但我无法插入jquery ajax调用

你能帮我吗

<form class="needs-validation" novalidate>
  <div class="form-row">
    <div class="col-md-4 mb-3">
      <label for="validationCustom01">First name</label>
      <input type="text" class="form-control" id="validationCustom01" placeholder="First name" value="Mark" required>
      <div class="valid-feedback">
        Looks good!
      </div>
    </div>
    <div class="col-md-4 mb-3">
      <label for="validationCustom02">Last name</label>
      <input type="text" class="form-control" id="validationCustom02" placeholder="Last name" value="Otto" required>
      <div class="valid-feedback">
        Looks good!
      </div>
    </div>
    <div class="col-md-4 mb-3">
      <label for="validationCustomUsername">Username</label>
      <div class="input-group">
        <div class="input-group-prepend">
          <span class="input-group-text" id="inputGroupPrepend">@</span>
        </div>
        <input type="text" class="form-control" id="validationCustomUsername" placeholder="Username" aria-describedby="inputGroupPrepend" required>
        <div class="invalid-feedback">
          Please choose a username.
        </div>
      </div>
    </div>
  </div>
  <div class="form-row">
    <div class="col-md-6 mb-3">
      <label for="validationCustom03">City</label>
      <input type="text" class="form-control" id="validationCustom03" placeholder="City" required>
      <div class="invalid-feedback">
        Please provide a valid city.
      </div>
    </div>
    <div class="col-md-3 mb-3">
      <label for="validationCustom04">State</label>
      <input type="text" class="form-control" id="validationCustom04" placeholder="State" required>
      <div class="invalid-feedback">
        Please provide a valid state.
      </div>
    </div>
    <div class="col-md-3 mb-3">
      <label for="validationCustom05">Zip</label>
      <input type="text" class="form-control" id="validationCustom05" placeholder="Zip" required>
      <div class="invalid-feedback">
        Please provide a valid zip.
      </div>
    </div>
  </div>
  <div class="form-group">
    <div class="form-check">
      <input class="form-check-input" type="checkbox" value="" id="invalidCheck" required>
      <label class="form-check-label" for="invalidCheck">
        Agree to terms and conditions
      </label>
      <div class="invalid-feedback">
        You must agree before submitting.
      </div>
    </div>
  </div>
  <button class="btn btn-primary" type="submit">Submit form</button>
</form>

<script>
// Example starter JavaScript for disabling form submissions if there are invalid fields
(function() {
  'use strict';
  window.addEventListener('load', function() {
    // Fetch all the forms we want to apply custom Bootstrap validation styles to
    var forms = document.getElementsByClassName('needs-validation');
    // Loop over them and prevent submission
    var validation = Array.prototype.filter.call(forms, function(form) {
      form.addEventListener('submit', function(event) {
        if (form.checkValidity() === false) {
          event.preventDefault();
          event.stopPropagation();
        }
        form.classList.add('was-validated');
      }, false);
    });
  }, false);
})();
</script>

名字
看起来不错!
姓
看起来不错!
用户名
@
请选择一个用户名。
城市
请提供一个有效的城市。
陈述
请提供有效状态。
拉链
请提供有效的邮政编码。
同意条款和条件
提交前必须同意。
提交表格
//示例starter JavaScript,用于在存在无效字段时禁用表单提交
(功能(){
"严格使用",;
addEventListener('load',function()){
//获取要应用自定义引导验证样式的所有表单
var forms=document.getElementsByClassName('needs-validation');
//对它们进行循环并防止提交
var validation=Array.prototype.filter.call(表单,函数(表单){
表单.addEventListener('submit',函数(事件){
if(form.checkValidity()==false){
event.preventDefault();
event.stopPropagation();
}
form.classList.add('was-validated');
},假);
});
},假);
})();

有关更多信息,请访问此JSFIDLE链接:

这也让我感到困惑。在第一个语句之后添加第二个
if
语句检查有效性对我来说很有用。奇怪的是,
else
块没有显示,并且阻止了验证消息的显示

<script>
// Example starter JavaScript for disabling form submissions if there are invalid fields
(function() {
  'use strict';
  window.addEventListener('load', function() {
    // Fetch all the forms we want to apply custom Bootstrap validation styles to
    var forms = document.getElementsByClassName('needs-validation');
    // Loop over them and prevent submission
    var validation = Array.prototype.filter.call(forms, function(form) {
      form.addEventListener('submit', function(event) {
        if (form.checkValidity() === false) {
          event.preventDefault();
          event.stopPropagation();
        }

        if (form.checkValidity() === true) {
          event.preventDefault();

          //do ajax here

        }

        form.classList.add('was-validated');
      }, false);
    });
  }, false);
})();
</script>

//示例starter JavaScript,用于在存在无效字段时禁用表单提交
(功能(){
"严格使用",;
addEventListener('load',function()){
//获取要应用自定义引导验证样式的所有表单
var forms=document.getElementsByClassName('needs-validation');
//对它们进行循环并防止提交
var validation=Array.prototype.filter.call(表单,函数(表单){
表单.addEventListener('submit',函数(事件){
if(form.checkValidity()==false){
event.preventDefault();
event.stopPropagation();
}
if(form.checkValidity()==true){
event.preventDefault();
//在这里做ajax吗
}
form.classList.add('was-validated');
},假);
});
},假);
})();

您能告诉我更多细节吗?你想做什么样的验证?Bootstrap 4仅执行基于浏览器或服务器的验证。很抱歉,标题错误。我现在更新标题。验证在客户机上进行,然后我将表单提交到服务器端-@İlkerErgün