2016-04-28 53 views
0

我有一個窗體,其中用戶輸入input.Then提交點擊模式彈出觸發器來確認data.If用戶點擊提交模式,ajax後完成警報消息,但該頁面不會自動刷新,甚至形式的數據保持原樣? 即使與window.reload()我試過。 這裏是下面的代碼我想在使用php和javascript提交表單後刷新頁面?

$(document).ready(function(){ 
    $('#submitBtn').click(function() { 
     validate(); 
     $('#lname').text($('#lastname').val()); 
     $('#fname').text($('#firstname').val()); 
    }); 

    $('#submit').click(function(){ 
     $.ajax({ 
      type: "POST", 
      url: 'file.php', 
      data: { 
       fname: $("#fname").text(), 
       lname: $("#lname").text() 
      }, 
      success: function(data){ 
       $("#confirm-submit").modal("hide"); 
       $("#result").html("<div class='alert alert-success'>Inserted   Successfully</div>"); 
      } 
     }); 
    }); 

    setTimeout(function(){ // hide alert message 
     $("#result").fadeOut(); 
     //alert("hi deepak"); 
    }, 9000); 
    window.reload(); 

    function validate(){ 
     var valid = $(".classinput").val(); 
     if (valid !== parseInt(valid, 10)) { 
      //detects floating point numbers like 1.3 
      alert("Enter integer numbers"); 
     } else if (valid > -1) { 
      // detects negative numbers 
      alert("Enter positive numbers"); 
     } 
    } 
}); 
+2

。如果你想重新載入頁面,然後使得AJAX請求的觀點是完全多餘的。 –

+0

@Rory我想將數據保存到數據庫,這就是爲什麼我使用ajax後。 –

+0

這很好,但是您應該提出一個標準請求來更新數據庫並在一次調用中重定向,或者按照您的要求創建AJAX請求,然後手動更新DOM,直到請求發出後您希望的狀態。 –

回答

0

如果我理解正確的話您的問題,那麼我認爲你應該將你的window.reload()到成功的AJAX功能一樣,所以如果你想刷新頁面AJAX提交以後。 ..

success: function(data){ 
    $("#confirm-submit").modal("hide"); 
    $("#result").html("<div class='alert alert-success'>Inserted Successfully</div>"); 
    window.location.reload(true); 
    } 
+0

嘗試與您的評論,但獲取控制檯錯誤作爲未捕獲TypeError:window.reload是不是一個函數 –

+0

是否jquery版本很重要。我正在使用src =「http://code.jquery.com/jquery-2.2.3.min.js」 –

+1

試試這個window.location.reload(true); –

0

試試這個:

success: function(data){ 
    if(data.success == true){ // if true (1) 
      $("#confirm-submit").modal("hide"); 
      $("#result").html("<div class='alert alert-success'>Inserted Successfully</div>"); 
      setTimeout(function(){// wait for 5 secs(2) 
      location.reload(); // then reload the page.(3) 
     }, 5000); 
    } 
}