搜索

首页  >  问答  >  正文

WordPress - 执行按钮上的onclick函数,当页面加载时

<p><strong>背景</strong></p> <p>我正在创建一个注册页面,并希望在用户按下“创建账户”按钮时运行一个函数。我有一个如下的按钮:</p> <pre class="brush:php;toolbar:false;"><button type="submit" name="wp-submit" onclick="register_process();" data-ppt-btn class="mt-5"> <?php echo __("创建账户"); ?> </button></pre> <p>然后我在同一个PHP文件中有相应的函数:</p> <pre class="brush:php;toolbar:false;">function register_process(){ // 检查复选框中的用户类型 if(!jQuery("#user_type").is(':checked')){ <?php // 标头 $headers = "MIME-Version: 1.0" . "\r\n"; $headers = "Content-type:text/html;charset=UTF-8" . "\r\n"; // 获取用户电子邮件 $user_registration_email = "test987"; //$_POST['user_email']; // 邮件的收件人、主题和正文 $admin_email_address = get_option('admin_email'); $email_subject = "测试标题"; $email_body = "电子邮件:{$user_registration_email}"; // 发送邮件 wp_mail( $admin_email_address, $email_subject, $email_body, $headers); ?> } }</pre> <p><strong>问题</strong></p> <p>有多个问题,但首先是函数“register_process”在我加载页面时就运行了,甚至没有按下按钮。我在一些地方读到应该从onclick属性中删除(),这解决了这个问题。然而,按下按钮后什么也不会发生。</p> <p>我还尝试检查用户电子邮件字段是否为空,只有在为空时才发送电子邮件。然而,这样我根本收不到任何邮件。</p> <p>奇怪的是,我的函数中还有其他的一些东西,比如检查输入字段是否为空。这些错误/警告只有在按下按钮时才会触发,它们看起来像这样:</p> <pre class="brush:php;toolbar:false;">if(!jQuery("#privacypolicy").is(':checked')){ jQuery("#ppt-form-error").addClass('text-danger mb-4').html("<?php echo __("您必须接受我们的隐私政策才能加入我们的网站。") ?>"); CanContinue =0; return; }</pre> <p>如何使函数只在按下按钮时发送邮件?</p>
P粉575055974P粉575055974454 天前618

全部回复(1)我来回复

  • P粉212114661

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

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

    回复
    0
  • 取消回复