java web表单提交之前调用ajax校验

表单,通过  onsubmit  标签属性调用方法,记得一定要return

 

<form id="myForm" th:action="@{/user/order}" method="post" onsubmit="return checkF(this)">
                    <input type="hidden" id="labId" name="labId" th:if="${lab!=null}" th:value="${lab.labId}">
                    <div class="form-group">
                      <label>实验室地址:</label>
                      <p name="address" th:text="${lab!=null}?${lab.address}"></p>
                    </div>
                    <div class="form-group">
                      <label>预约日期:</label>
                      <input id="newDay" name="useDay" required type="date" class="form-control" >
                    </div>
                    <div class="form-group">
                      <label>预约时间:</label>
                      <select class="form-control" id="timeId" name="timeId">
                        <option th:value="${time.timeId}"  th:each="time:${times}" th:text="${#dates.format(time.startTime,'HH:mm')}+'-'+${#dates.format(time.endTime,'HH:mm')}">1</option>
                      </select>
                    </div>
                    <button type="submit" class="btn btn-primary">提交</button>
                  </form>

 

js校验

function checkF(myForm){

        var labId = $("#labId").val();
        var timeId = $("#timeId").val();
        var newDay = $("#newDay").val();

        $.ajax({
          type : "post",
          url:"http://localhost:8080/user/order/check",
          data : "labId=" + labId + "&day="+newDay + "&timeId="+timeId,
          cache : false,
          async: false,//一定要设置为同步,不然没法校验到
          dataType : "json",
          success:function(data){
            if (data.res == 0){
              alert(data.msg+";"+data.res);
              return false;
            } else {
          
              return true;
            }
          }
        });

      }

 

ajax请求这里,我踩了个坑 = =

因为不知道ajax默认是异步请求,所以每次有返回结果表单却都可以正常提交

所以这边一定要设置  async: false

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值