如果选中复选框,则在登录后运行 javascript 函数


Run javascript function after login if checkbox is selected

我正在制作一个Wordpress网站,如果已登录,用户可以对帖子进行投票,这目前正在工作。我现在想做的是让他们在登录网站之前通过选中复选框来投票。如果未选中该复选框,则函数必须像现在一样运行。我希望我的解释很清楚。提前谢谢你。

如果用户已登录,则这是运行以下脚本的表单。并且在登录之前尚未通过选中底部表单中的复选框进行投票。

 <textarea id="msg" maxlength="100" rows="4" class="widget_textarea"></textarea>
  <button type="submit" class="vote widget_button">Sign</button>
  <input type="hidden" id="post_id" value="<?php the_ID() ?>">
如果用户

已登录,则可以使用上面的表单运行脚本。如果用户在登录之前选中了下面复选框,也应该运行。

$(".vote").click(function() {
    $(".vote").html('busy');
    $url = "/vote/?petitie_id=" + $("#post_id").val() + "&msg=" + $("#msg").val();
    $.ajax({
            dataType: "json",
            url: $url
        })
        .done(function(data) {
            $(".vote").html('done');
            if (data.success) {
                $(".vote").html('voted')
            } else {
                $(".vote").html('already voted');
            }
        })
        .fail(function() {
            alert('fail');
        })
});

带有复选框的登录表单,如果选中该复选框,则必须在登录后运行上面的脚本

<form name="loginform" class="wpuf-login-form row" id="loginform" action="/login/" method="post">
        <div class="col-md-12 col-sm-12 col-xs-12 login_section_login_forms">
           <div class="form-group">
              <input type="text" name="log" class="form-control top-buffer" placeholder="Naam" value="" size="20" />
           </div>
           <div class="form-group">
              <input type="password" name="pwd"  class="form-control top-buffer" placeholder="Wachtwoord" value="" size="20" />
           </div>
           <input id="vote_for_me" type="checkbox"> Login and vote<br>
           <?php do_action('login_form'); ?>
        </div>
        <div class="col-md-12 col-sm-12 col-xs-12 login_button">
           <input type="submit" name="wp-submit" type="button" id="myButton1" class="btn btn-danger btn-lg btn-block" value="<?php esc_attr_e('Log In'); ?>" />
           <input type="hidden" name="redirect_to" value="<?php echo WPUF_Login::get_posted_value('redirect_to'); ?>" />
           <input type="hidden" name="wpuf_login" value="true" />
           <input type="hidden" name="action" value="login" />
           <?php wp_nonce_field('wpuf_login_action'); ?>
        </div>
     </form>

使用复选框的值在 JavaScript 中创建一个 cookie,如下所示:

document.cookie="vote_post123=1";

您可以使用 onclick() 事件或窗体的 onsubmit() 事件执行此操作。

然后,登录后,将用户重定向到检查$_COOKIE['vote_post123']以查看它是否等于 1 的页面,并执行适当的操作或基于此回显适当的 JavaScript 代码。