suchen

Heim  >  Fragen und Antworten  >  Hauptteil

WordPress – Onclick-Funktion auf der Schaltfläche ausführen, wenn die Seite geladen wird

<p><strong>Hintergrund</strong></p> <p>Ich erstelle eine Registrierungsseite und möchte eine Funktion ausführen, wenn der Benutzer auf die Schaltfläche „Konto erstellen“ klickt. Ich habe eine Schaltfläche wie diese: </p> <pre class="brush:php;toolbar:false;"><button type="submit" name="wp-submit" onclick="register_process();" ="mt-5"> <?php echo __("Konto erstellen"); </button></pre> <p>Dann habe ich die entsprechende Funktion in derselben PHP-Datei: </p> <pre class="brush:php;toolbar:false;">function register_process(){ // Überprüfen Sie den Benutzertyp im Kontrollkästchen if(!jQuery("#user_type").is(':checked')){ <?php // Header $headers = "MIME-Version: "rn" $headers = "Content-type:text/html;charset=UTF-8"; // Benutzer-E-Mail abrufen $user_registration_email = "test987" //$_POST['user_email']; // Empfänger, Betreff und Text der E-Mail $admin_email_address = get_option('admin_email'); $email_subject = "Testsubjekt"; $email_body = "E-Mail: {$user_registration_email}"; // E-Mail senden wp_mail( $admin_email_address, $email_subject, $email_body, $headers); ?> } }</pre> <p><strong>Frage</strong></p> <p>Es gibt mehrere Probleme, aber das erste ist, dass die Funktion „register_process“ ausgeführt wird, wenn ich die Seite lade, ohne überhaupt die Schaltfläche zu drücken. Ich habe irgendwo gelesen, dass () aus dem onclick-Attribut entfernt werden sollte, und das hat das Problem gelöst. Beim Drücken der Taste passiert jedoch nichts. </p> <p>Ich habe auch versucht zu prüfen, ob das Benutzer-E-Mail-Feld leer ist, und die E-Mail nur zu senden, wenn es leer ist. Allerdings erhalte ich auf diese Weise überhaupt keine E-Mails. </p> <p>Seltsamerweise habe ich noch ein paar andere Dinge in meiner Funktion, wie zum Beispiel die Überprüfung, ob das Eingabefeld leer ist. Diese Fehler/Warnungen werden nur ausgelöst, wenn die Taste gedrückt wird, und sie sehen folgendermaßen aus: </p> <pre class="brush:php;toolbar:false;">if(!jQuery("#privacypolicy").is(':checked')){ jQuery("#ppt-form-error").addClass('text-danger mb-4').html("<?php echo __("Sie müssen unsere Datenschutzrichtlinie akzeptieren, um unserer Website beizutreten." ;) ?>"); CanContinue =0; zurückkehren; }</pre> <p>Wie kann ich festlegen, dass die Funktion die E-Mail nur sendet, wenn die Schaltfläche gedrückt wird? </p>
P粉575055974P粉575055974454 Tage vor619

Antworte allen(1)Ich werde antworten

  • P粉212114661

    P粉2121146612023-08-30 09:29:02

    在onclick="register_process();"中只需要移除"();"

    Antwort
    0
  • StornierenAntwort