WordPress - Jalankan fungsi onclick pada butang apabila halaman dimuatkan
P粉575055974
2023-08-30 00:33:02
<p><strong>Latar belakang</strong></p>
<p>Saya sedang mencipta halaman pendaftaran dan mahu menjalankan fungsi apabila pengguna menekan butang "Buat Akaun". Saya mempunyai butang seperti ini: </p>
<pre class="brush:php;toolbar:false;"><button type="submit" name="wp-submit" onclick="data-ppt-btn class ="mt-5">
<?php echo __("Buat akaun" ?>
</button></pre>
<p>Kemudian saya mempunyai fungsi yang sepadan dalam fail PHP yang sama: </p>
<pre class="brush:php;toolbar:false;">function register_process(){
// Semak jenis pengguna dalam kotak semak
if(!jQuery("#user_type").is(':checked')){
<?php
// Kepala
$headers = "Versi MIME: 1.0"
$headers = "Content-type:text/html;charset=UTF-8"
// Dapatkan e-mel pengguna
$user_registration_email = "test987"; //$_POST['user_email'];
// Penerima, subjek dan kandungan e-mel
$admin_email_address = get_option('admin_email');
$email_subject = "Subjek ujian";
$email_body = "E-mel: {$user_registration_email}";
// menghantar e-mel
wp_mail( $admin_email_address, $email_subject, $email_body, $headers);
?>
}
}</pre>
<p><strong>Soalan</strong></p>
<p>Terdapat beberapa isu, tetapi yang pertama ialah fungsi "register_process" sedang berjalan apabila saya memuatkan halaman, tanpa menekan butang. Saya membaca di suatu tempat bahawa () harus dialih keluar daripada atribut onclick dan ini menyelesaikan masalah. Walau bagaimanapun, tiada apa yang berlaku apabila butang ditekan. </p>
<p>Saya juga cuba menyemak sama ada medan e-mel pengguna kosong dan hanya menghantar e-mel jika kosong. Walau bagaimanapun, dengan cara ini saya tidak menerima sebarang e-mel sama sekali. </p>
<p>Cukup aneh, saya mempunyai beberapa perkara lain dalam fungsi saya, seperti menyemak sama ada medan input kosong. Ralat/amaran ini hanya menyala apabila butang ditekan dan ia kelihatan seperti ini: </p>
<pre class="brush:php;toolbar:false;">if(!jQuery("#privacypolicy").is(':checked')){
jQuery("#ppt-form-error").addClass('text-bahaya mb-4').html("<?php echo __("Anda mesti menerima Dasar Privasi kami untuk menyertai tapak kami ." ;) ?>");
BolehTeruskan =0;
kembali;
}</pre>
<p>Bagaimana saya boleh menjadikan fungsi hanya menghantar e-mel apabila butang ditekan? </p>
Onclick="register_process();" hanya perlu mengalih keluar "();"