如果用户未登录,如何阻止HTML表单提交,但如果用户已登录,则允许提交? [英] How stop an HTML form from submitting if user is not signed in, but allow submit if user is signed in?

查看:309
本文介绍了如果用户未登录,如何阻止HTML表单提交,但如果用户已登录,则允许提交?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用中,必须登录用户才能提交表单信息.

In my app, a user must be signed in to submit form info.

用户单击表单提交按钮后,我的jQuery检查用户是否登录.

After a user clicks on the form submit button, my jQuery checks if a user is signed in.

如果未登录,则会弹出一条错误消息,要求登录/注册. 我现在可以成功停止默认操作(提交).

If not signed in, then an error message pops up, requesting sign in/up. I can now successfully stop the default action (submit).

但是,如果用户已经登录,我还如何允许默认操作? 使用我当前的代码,如果用户已登录,默认操作也将被阻止.

However, how do I also allow the default action if the user is already signed in? With my current code, the default action is also blocked if the user is signed in.

这是我的代码:

jQuery('.member-only').click(function(event) {
    var $element = jQuery(this);
    var SignedIn;

    jQuery.ajax({
        type: 'POST',
        url: '/ajax/member',
        dataType: 'json',
        success: function(data) {
            var $err = jQuery('<div></div>')
                        .addClass('member-check')
                        .html(data.msg)
                        .css('left', $element.position().left);
            SignedIn = data.SignedIn;

            if (!(data.SignedIn)) { // not signed in
                $element.after($err);
                $err.fadeIn('slow');
                return false;
            }
        }
    });

    jQuery('.member-check').live('click', function() {
        jQuery(this).fadeOut('slow', function() {jQuery(this).remove(); });
    });

    if (!SignedIn) {
        event.preventDefault();
        event.stopImmediatePropagation();
        return false; // block default submit
    }
});

谢谢.

推荐答案

$(form_id).submit(function(){ //triggered when user submits form
  var signed_in = check_if_user_is_signed_in(); //checking
  if(signed_in){ //singed in
    //Do stuff
    return true; //submit form
  } else{ //user not signed in
    //Do stuff
    return false; //prevent form from being submitted
  }
})

这篇关于如果用户未登录,如何阻止HTML表单提交,但如果用户已登录,则允许提交?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆