如果PHP响应为真,则Javascript禁用输入和重置表单

时间:2018-01-23 13:42:47

标签: javascript php jquery forms validation

我的表单验证运行良好,响应消息显示表单验证为true / false,没问题但是我想在JavaScript中添加一个条件来检查如果响应为真那么表单输入将是禁用,直到响应真实消息将显示然后几秒后表格将被重置。

这是我验证后的PHP代码并发送响应为真:

$response = "form submitted successfully";

这是我的表单代码示例:

<form action="" method="POST" id="headersignupform" onsubmit="return false;">
<div class="resultsignup toppage"></div>
<button type="submit" class="signupbtn">Submit</button>

    

这是我的JavaScript代码:

<script type="text/javascript">
  $(function(){
  $('.signupbtn').click(function(){
  $('html, body').animate({
  scrollTop: $(".toppage").offset().top - 100
  },'slow');
  $.post("<?php echo base_url();?>account/signup",$("#headersignupform").serialize(), 

  function(response){
  if($.trim(response) == 'true'){
  document.getElementById("headersignupform").reset();
  $(".resultsignup").html(response).fadeIn("slow");
    }else{
  $(".resultsignup").html(response).fadeIn("slow");
  } }); });
  })
</script>

因此可以重置它但只有一次。请阅读以下更多信息;  $( '#headersignupform')[0] .reset段();

但重置只能工作一次,我的意思是如果我刷新页面,然后我点击提交按钮然后它会显示响应,但让我们看到我们有如此错误的响应,然后第二次或更多,如果我将点击提交按钮,然后它将不会显示响应。那么,问题是什么? 顺便说一下,上面的代码行重置了表单,但它不会像我提到的问题那样禁用表单输入

1 个答案:

答案 0 :(得分:0)

试试此代码

<script type="text/javascript">
  $(function(){
  $('.signupbtn').click(function(){
  $('html, body').animate({
  scrollTop: $(".toppage").offset().top - 100
  },'slow');

    $.post("<?php echo base_url();?>account/signup",$("#headersignupform").serialize(), 

      function(response){
          if($.trim(response) == true){
            document.getElementById("headersignupform").reset();
            $(".resultsignup").html(response).fadeIn("slow");
          }else{
            $(".resultsignup").html(response).fadeIn("slow");
          } 

      }); 
    });
  })
</script>