Frage an php, javascript, jquery – Senden von Post-Daten mit Abfrage beim Absenden des Formulars

8

Wenn ich dieses Formular habe, das die Post-Daten an die Seite selbst übermittelt:

<form method="post">
   <input type="text" name="name"/>
   <input type="submit"/>
</form>

Wie kann ich JavaScript / jQuery verwenden, um zusätzliche POST-Daten einzufügen? Dies wäre einfacher, wenn ich das Formular nur über Ajax mit einer der folgenden Funktionen abschicke$.post(), $.get(), oder$.ajax(). Aber was ich hier tun möchte, ist, das Formular nicht über Ajax einzureichen.

Die zusätzlichen Daten sind in JavaScript. Ich denke gerade daran, ein neues verstecktes Feld in das DOM zu injizieren, in dem ich die Daten übergeben werde, damit sie mit dem Formular übermittelt werden. Gibt es jedoch eine andere Möglichkeit, dies zu tun?

Bitte kommentieren Sie, wenn Sie mehr Code / Erklärung benötigen.

Warum wurde das abgelehnt? Wern Ancheta

Deine Antwort

2   die antwort
11

äche und steuern Sie die Übermittlung über Javascript. In Ihrem Javascript müssen Sie das Formular serialisieren und es zusammen mit allen anderen gewünschten Daten als Daten übergeben.

<script>

    $(document).ready(function() {

       var extra_data = "This is more stuff to send";

       $('#submit').click(function() {
          $.ajax({
             type: "POST",
             url: "form.php",
             data: {'form': $("#my_form").serialize(), 'other': extra_data},
             success: function(msg) {
                alert("Form Submitted: " + msg);
             }
          });

       });

    });

</script>

<form id="my_form" method="post">
  <input type="text" name="name" />
  <input type="button" id="submit" />
</form>
Sie haben zwei Möglichkeiten: 1) Versteckte Felder in Ihrem Formular. 2) Ajax. Sie wählen, aber ich persönlich denke, die AJAX-Methode ist robuster und ermöglicht mehr Funktionen wie die Formularvalidierung vor dem Einreichen. Jeremy Harris
Das versuche ich im Fragenkörper zu sagen. Ich denke, ich muss dann nur Ajax verwenden, um das Formular einzureichen. Wern Ancheta
1
<head>
    <script src="jquery/jquery-1.11.1.min.js"></script>
    <script>
    $(function () {
        $('#form_id').on('click','#submit', function(e){
            e.preventDefault();
            $.ajax({
                type: "POST",
                url: "get_Ajax.php",
                data: $('#form_id').serialize(),
                success: function(data) {
                    alert(data);
                }
            });
            return false;
        });
    });
    </script>
</head>
<form method="post" id="form_id">
<input type="text" name="ime">
<input type="button" id="submit" name="submit" value="Send">
</form>

** get_ajax.php **

<?php
$ime = $_POST['ime'];

echo "Your name is $ime";
?>

Verwandte Fragen