2016-10-17 7 views
0

Ich habe eine Reihe von Eingabefeldern und ich möchte, dass sie ihre Werte auf eine PHP-Seite zur Verarbeitung und dann einige Daten zurückgeben, ohne die Seite neu zu laden. Hier ist das, was ich bisher habe, aber keine Daten scheinen vorbei zu sein.Eine Eingabe in PHP mit Ajax schreiben

HTML:

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript" src="js/jquery.min.js"></script> 
<script> 
$(document).ready(function() { 
    $("form").submit(function(form) { 
    $.ajax({ 
     type:"POST", 
     url:"catch.php", 
     data: $(this).serialize(), 
     success: function(data) { 
     $('#result').html(data); 
     console.log(data); 
     } 
    }); 

    form.preventDefault(); 
    }); 
}); 
</script> 
</head> 
<body> 
<form method="post" name="form"> 
<input type="submit" name="event" value="1" /> 
<input type="submit" name="event" value="2" /> 
<input type="submit" name="event" value="3" /> 
<input type="submit" name="event" value="4" /> 
</form> 
<div id="result"></div> 
</body> 
</html> 

PHP:

<?php 

if(isset($_POST["event"])) 
{ 
    echo $_POST["event"]; 
} 

?> 
+0

was, wenn Sie 'data' zu' Daten ändern:. $ ('Form') eq (0) .serialize() '? – jonathanGB

+1

Serie der Eingabe Eingabe? und jede Taste mit demselben Namen? – Farhan

+0

Sie erwähnten Eingabefelder, aber das sind alle Schaltflächen. Verwenden Sie den Eingabetyp = "Text" und ändern Sie Ihren Namen für jeden Eingang eindeutig. – Netham

Antwort

0
<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript" src="js/jquery.min.js"></script> 
<script> 


    $(document).ready(function() { 

    $('.event').on('click', function(){ 
    $('#event').val($(this).val()); 
    $('#event_form').submit(); 
    }); 
    $("form").submit(function(form) { 
    $.ajax({ 
     type:"POST", 
     url:"catch.php", 
     data: $(this).serialize(), 
     success: function(data) { 
     $('#result').html(data); 
     console.log(data); 
     } 
    }); 

    form.preventDefault(); 
    }); 
}); 
</script> 
</head> 
<body> 
    <form method="post" name="form" id="event_form"> 
<input name="event" id="event" value="" type="hidden"> 
    <input type="button" class="event" value="1" /> 
    <input type="button" class="event" value="2" /> 
    <input type="button" class="event" value="3" /> 
    <input type="button" class="event" value="4" /> 
    </form> 
<div id="result"></div> 
</body> 
</html> 
+0

Ehrfürchtig, vielen Dank! – user6368630

+0

Kein Problem. Ich mag es, dass Sie die Benutzererfahrung bei der Codierung berücksichtigen. – Chris