2017-05-08 3 views
1

Ich habe ein Formular mit einem div als eine Schaltfläche, die als eine Schaltfläche zum Schließen für ein anderes div fungiert.On Click RUN PHP-Code und Javascript

Wenn ich auf dem Formular klicken, möchte ich zwei Dinge passieren:

  1. das übergeordnete div Schließen (ich schaffte es bereits, dass) und
  2. Führen Sie ein PHP-Skript (Ich bin hier fest) . Dies ist

, wie weit ich bekam:

<form action="/alert.php" method="post"> 
    <div class="alert-close">×</div> 
</form> 

<script> 
    $(document).ready(function(c) { 
    $('.alert-close').on('click', function(c) { 
     $(this).parent().fadeOut('slow', function(c) {}); 
    }); 
    }); 
</script> 

Ich dachte über einen Code wie diese Umsetzung:

$.ajax({ 
    url: $form.attr('action'), 
    method: $form.attr('method'), 
}); 

aber ich weiß nicht, wo es hingehört, wie ich eine bin noob mit AJAX und JavaScript. Was muss ich tun?

+0

Bei [so] Sie werden erwartet, sich um den Code zu versuchen, ** ** zu schreiben. Nach ** [weitere Recherchen durchführen] (// meta.stackoverflow.com/questions/261592)** Wenn du ein Problem hast, kannst du ** alles posten, was du versucht hast ** mit einer ** klaren Erklärung dessen, was isn ' t funktioniert ** und liefert ein [** minimales, vollständiges und verifizierbares Beispiel **] (// stackoverflow.com/help/mcve). Ich schlage vor, eine gute Frage und die perfekte Frage zu lesen (http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/). Achten Sie auch darauf, die [Tour] zu nehmen und ** [this] (// meta.stackoverflow.com/questions/347937/)** zu lesen. –

+0

Hier finden Sie Hilfe, um 'Ajax' zu starten, [http://stackoverflow.com/questions/9436534/ajax-tutorial-for-post-and-get](http://stackoverflow.com/questions/9436534/ ajax-tutorial-for-post-and-get) –

+0

@john conde Ich habe die letzten 2 Stunden recherchiert, aber ich habe noch nichts für meine Lösung gefunden. Ich werde Informatik in absehbarer Zeit nicht mehr studieren, also gibt mir diese Form der Antwort direkt unter den Eingeweiden. –

Antwort

1

können Sie $("#target").submit();

verwenden diese Methode eine Verknüpfung für .on ist ("Eintragen", handler) in der ersten Variante und .trigger ("Eintragen") in der dritten.

Das Submit-Ereignis wird an ein Element gesendet, wenn der Benutzer versucht, ein Formular zu senden. Es kann nur an Elementen angebracht werden. Formulare können entweder durch Klicken auf ein explizites,, oder oder durch Drücken der Eingabetaste gesendet werden, wenn bestimmte Formularelemente den Fokus haben.

$(document).ready(function(c) { 
 
\t $('.alert-close').on('click', function(c){ 
 
\t \t $(this).parent().fadeOut('slow', function(c){ 
 
\t \t }); 
 
     //$("#myform").submit(); //use this for submitting the form 
 
    \t }); 
 
}); 
 
    
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id = "myform" action="/alert.php" method="post"> <div class="alert-close">×</div> 
 
</form>

Wenn Sie Ajax verwenden für die Seite nicht neu laden wollen, müssen Sie nur beheben, was Sie haben.

$.ajax({ 
    method: "POST", 
    url: "alert.php", 
    success: function(result){ 
    alert("Success"); // Use the success function to make sure that ajax was successful 
    } 
}); 

Für mehr über AJAX diesen Link: http://api.jquery.com/jquery.ajax

+0

danke für deine antwort! Das Problem, das bleibt, ist, dass beim Klicken immer noch die Zielseite geladen wird (// $ ("#myform") .submit();). Ich brauche das, um zu verhindern, dass es passiert. Ich möchte das PHP-Skript laden, ohne die Seite zu verlassen. Kennen Sie eine Lösung? –

+0

ja, das hat funktioniert! ich danke dir sehr!! –