簡體   English   中英

AJAX無法提交表格

[英]AJAX not working submitting form

我得到了一些AJAX代碼,但沒有收到服務器的響應。 我嘗試了很多事情,但無法弄清楚為什么它不起作用。 我正在使用XAMPPlocalhost上運行。 我希望在具有id狀態的span看到echo

index.php上的AJAX

$(document).ready(function() {
    $("#registrationform").submit(function() {
        $.ajax({
            type: "POST",
            url: "registration.php",
            data: $("#registrationform").serialize(),
            success: function(data) {
                $("#status").html(data);
            }
        });

        alert("Ajax not running")
        });
});

在index.php上的表格

<form id="registrationform" action="">
Voornaam: <input type="text" name="voornaam" /><br />
Tussenvoegsel: <input type="text" name="tussenvoegsel" /><br />
Achternaam: <input type="text" name="achternaam" /><br />
Geslacht: <?php include_once("parser/geslacht.php"); ?><br />
Land: <?php include_once("parser/land.php"); ?><br />
Geboortedatum: <?php include_once("parser/gebdatum.php"); ?><br />
E-mail: <input type="text" name="e-mail" /><br />
Wachtwoord: <input type="password" name="password" /><br />
Hertype wachtwoord: <input type="password" name="password2" /><br /><br />
De onderstaande vraag is nodig om uw wachtwoord terug te halen mocht u die vergeten zijn.<br />
Geheime vraag: <select name="geheimevraag" id="geheimevraag">
<option value="huisdier">Wat is de naam van jouw eerste huisdier?</option>
<option value="moedername">Wat is de meisjesnaam van je moeder?</option>
<option value="eerstebaas">Hoe heet je eerste baas?</option>
<option value="eigenvraag">Eigen vraag opstellen</option>
</select><br/>
<span id="anders" style="display:none;">Eigen vraag: <input type="text"  name="eigen_vraag" style="width:300px;"/></span><br  />
Antwoord: <input type="password" name="gantwoord" /><br />
</form>
<input type="submit" value="Submit"/>
<span id="status"></span>

registration.php

if(!empty($_POST)){
echo "There is a value";
}else{
echo "enter a value";
}
?>

請嘗試此代碼

$(document).ready(function() {
    $("#registrationform").submit(function(e){
    e.preventDefault();
        $.ajax({
            type: "POST",
            url: "registration.php",
            data: $("#registrationform").serialize(),
            success: function(data) {
                $("#status").html(data);
            }
        });

        alert("Ajax not running")
        });
});

您必須防止提交按鈕的默認行為

$("#registrationform").submit(function(ev) {
    ev.preventDefault();
    ...

然后,您需要實現一個適當的故障處理程序,您的當前處理程序將始終發出警報,因為該ajax是異步的

$.ajax({
    type: "POST",
    url: "registration.php",
    data: $("#registrationform").serialize(),
    success: function(data) {
        console.log(data); // check your console to see if request is success and what it contains
        $("#status").html(data);
    }
}).fail(function () { 
   alert("oh noes"); 
});

</form>關閉標記之前寫<input type="submit" value="Submit"/>

 <form id="registrationform" action="">
    Voornaam: <input type="text" name="voornaam" /><br />
    Tussenvoegsel: <input type="text" name="tussenvoegsel" /><br />
    Achternaam: <input type="text" name="achternaam" /><br />
    Geslacht: <?php //include_once("parser/geslacht.php"); ?><br />
    Land: <?php //include_once("parser/land.php"); ?><br />
    Geboortedatum: <?php //include_once("parser/gebdatum.php"); ?><br />
    E-mail: <input type="text" name="e-mail" /><br />
    Wachtwoord: <input type="password" name="password" /><br />
    Hertype wachtwoord: <input type="password" name="password2" /><br /><br />
    De onderstaande vraag is nodig om uw wachtwoord terug te halen mocht u die vergeten zijn.<br />
    Geheime vraag: <select name="geheimevraag" id="geheimevraag">
    <option value="huisdier">Wat is de naam van jouw eerste huisdier?</option>
    <option value="moedername">Wat is de meisjesnaam van je moeder?</option>
    <option value="eerstebaas">Hoe heet je eerste baas?</option>
    <option value="eigenvraag">Eigen vraag opstellen</option>
    </select><br/>
    <span id="anders" style="display:none;">Eigen vraag: <input type="text"  name="eigen_vraag" style="width:300px;"/></span><br  />
    Antwoord: <input type="password" name="gantwoord" /><br />

   <input type="submit" value="Submit"/>
    </form>
    <span id="status"></span>

您的jquery腳本腳本:

<script>
$(document).ready(function() {
$("#registrationform").submit(function(ev){
ev.preventDefault();    
$.ajax ({
    type: "POST",
    url: "registration.php",
    data: $("#registrationform").serialize(),
    success: function(data) {
    $("#status").html(data);
   }
});

 alert("Ajax not running")
});
});

</script>

您需要防止表單的默認行為,以便頁面不會更改位置,並且JS可以執行AJAX請求。

$("#registrationform").submit(function(e) {
    e.preventDefault(); //this one
    $.ajax({
        type: "POST",
        url: "registration.php",
        data: $("#registrationform").serialize(),
        success: function(data) {
            $("#status").html(data);
        }
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM