2012-03-31 9 views
0

Ich möchte WERTE EINFÜGEN, nachdem der Benutzer im Bestätigungsfeld auf OK geklickt hat. Jetzt funktioniert die Bestätigungsbox gut. Das einzige Problem, das ich sehen kann, ist, dass, wenn der Benutzer auf "OK" klickt, die INSERT VALUES auf einer separaten Seite (insertQuestion.php) passieren sollen, aber ich möchte nicht, dass das Formular zu dieser Seite navigiert wird. Ich möchte, dass das Formular auf die Art und Weise navigiert, wie es gerade vorgeht, entweder auf eine eigene Seite oder auf create_session.php, abhängig von der Situation ($ action).Ich möchte WERTE EINFÜGEN, aber ich möchte nicht, dass Benutzer zu dieser Seite navigieren.

Also wie kann ich WERTE in die Datenbank einfügen, ohne den Benutzer zu dieser Seite zu navigieren (insertquestion.php), nachdem der Benutzer im Bestätigungsfeld auf 'OK' geklickt hat?

unten ist der Javascript-Code, in dem das Bestätigungsfeld angezeigt wird und wenn eine Bestätigung auf ‚OK‘ ist, legt sie die Form:

function showConfirm(){ 

      var confirmMsg=confirm("Do you want to Proceed" + "\n"); 

      if (confirmMsg==true) 
      { 
      submitform(); 
     } 
    } 

function submitform() 
      { 

     var QandAO = document.getElementById("QandA"); 

      QandAO.submit(); 

      } 
+0

Onclick auf die OK-Taste, können Sie eine js Funktion aufrufen, die eine „Ajax“ Anfrage hat die Formulardaten zu senden und Während die async-Anfrage verarbeitet wird, können Sie die Seite mit einer Nachricht wie "Danke für Ihre Antwort" aktualisieren ... werfen Sie einen Blick auf zB http://jquery.malsup.com/form/ oder vielleicht http://www.catswhocode.com/blog/10-jquery-tutorials-for-working-with-html-forms – ShinTakezou

+0

Bitte entfernen Sie alle unnötigen Code – Starx

Antwort

2

Beitrag des Formular eine Ajax-Anforderung verwendet wird.

Ein einfaches Beispiel mit jQuery

$("#yourbutton").click(function() { 
    var fieldvalue = $("#inputname").val(); //grab the form value 
    $.post("yourpage.php", //send it to yourpage.php 
     { 
      field1: fieldvalue 
     }, function(data) { 
     //do something on success 
     } 
    ); 
}); 
+0

Ich werde es versuchen mit Jquery, ich werde zu Ihnen zurück, wenn es irgendwelche Probleme gibt – user1304328

+0

Ich möchte wissen, brauche ich tatsächlich den Jquery-Code, weil ich bereits den Javascript-Code, der die Bestätigung zeigt und Formular vorlegt, wenn die Bestätigung wahr ist Kann ich die JavaScript-Funktionen, die ich bereits habe, nicht verwenden? Ich habe die Frage – user1304328

+0

aktualisiert. Ich habe meinen Versuch aktualisiert, kann aber immer noch nicht funktionieren. Was mache ich falsch? Es erscheint nicht die Warnung "Ihre Fragen wurden übermittelt". – user1304328

0

Setzen Sie eine ‚include‘ Aussage in beiden Empfängerseite einschließlich der Formularseite einreichen, die nichts für den Benutzer angezeigt werden sollen. So läuft alles auf dem php der zielgerichteten Seite.

Beispiel:

#Check if the conditions are required. If they are, $Valid=1. Then do this: 
if ($Valid==1) include 'FULLPATH/insertquestion.php'; 

, dass alle Codes von insertquestion.php an der Stelle enthält, wo die sind aufgerufen, wenn die Bedingungen erfüllt sind. Wenn Sie keine html vor aufgenommen haben, könnten Sie sogar dies tun, nachdem die folgenden:

else header("Location: " . $PHP_SELF); 
Verwandte Themen