2017-02-19 103 views
0

我寫了一個AJAX代碼並鏈接了php文件,但代碼在最後不接受return false;函數。它將我帶到行動檔案。我的Ajax代碼ajax代碼,jquery返回false不工作。嘗試其他答案

$("#submit").click(function() { 

    var data = $("#form :input").serializeArray(); 

    $.post($("#form").attr("action"), data, function(info) { $("#result").html(info);}); 
}); 

$("#form").submit(function() { 

    return false; 
}); 

我的index.php代碼

<?php 

include('new.php'); 


?> 


<!DOCTYPE html> 
<html> 
<head> 
    <title>Ajax practice</title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
    <script type="text/javascript" src="ajax.js"></script> 
</head> 
<body> 
    <form action="new.php" method="post" id="form"> 
     <label>Name</label><br> 
     <input type="text" name="name"/><br> 
     <label>Email</label><br> 
     <input type="Email" name="email"/><br> 
     <button type="submit" name="submit" id="submit">submit to database</button> 
    </form> 
    <span id="result"></span> 
</body> 
</html> 

我的PHP文件

<?php 

$con = mysqli_connect("localhost","root","","ajax") or die ("couldnt connect to database."); 


if (isset($_POST['submit'])) { 


    global $con; 

    $title = $_POST['name']; 
    $email = $_POST['email']; 


    $insert_user = "INSERT INTO ajax (title, email) VALUES ('$title', '$email')"; 
    $run_user = mysqli_query($con,$insert_user); 


    if ($run_user) { 
     echo "Success"; 
    } else { 
     echo "Failed"; 
    } 
} 


?> 
+0

裏面是什麼new.php? – mplungjan

回答

1
  • NEVE [R名的提交按鈕「提交」 - 它取代/塊form.submit處理
    變化
    ​​

    <button type="submit">submit to database</button>

  • 如果JS與處理程序是在頭部或他們訪問對象之前,你需要用的處理器在一個onload - 在這裏我用$(function() {....});

  • 典型的方式是使用提交事件,而不是點擊事件 - 這也節約了處理:

測試:http://plungjan.name/SO/testajax/testajax.html

$(function() { // when page loads 
    $("#form").on("submit",function(e) { 
    e.preventDefault(); // cancel submit 
    $.post($(this).attr("action"), $(this).serialize(), function(info) {  
     $("#result").html(info); 
    }); 
    }); 
}); 
+0

我試過了。它仍然把我帶到其他的PHP文件。 – Himakar

+0

按F12並查看嘗試f12的錯誤 – mplungjan

+0

。它顯示沒有錯誤。 – Himakar

0

你必須防止在代碼第一部分是在點擊提交的默認操作功能

0

我覺得你

#sumit is id for <input type="submit"> 

因此,當你做

$('#submit').click(function() {}); 

沒有的preventDefault做

#('#form').submit(function() { 
    Return false; 
} //think this for your form 

你違反你的代碼。你告訴它做與不做,所以它混淆

我勸你

$('#form').on("submit", function() { 
    $.ajax({//ajax code}); 

     Return false; 
    )}; 

嘗試此代碼

$('#submit').click(function() { 
    var data = $('#form').serialize(); 

    $.ajax({ 
    type: "POST", 
    url: "ajaxsubmit.php", 
    data: data, 
    cache: false, 
    success: function(result){ 
     alert(result); 
    } 
    )}; 
return false; 
}); 
+0

我厭倦了這一點。 。 $( 「#形式」)上( 「提交」,函數(E){ VAR數據= $( 「#形式:輸入」)serializeArray(); \t $ .POST($(「#。 (「#result」).html(info); }); 返回false; });}}; attr(「action」),data,function(info) 現在仍在工作。 – Himakar

+0

它仍然帶我到另一個PHP頁面。 – Himakar

+0

你的腳本是否在外部文件中?希望你喜歡正確的jQuery cdn或文件,並且你鏈接正確。 –