简体   繁体   English

当主题设置为我的登录插件注册表单时设置弹出窗口

[英]set popup while theme my login plugin register form submit

I am working with theme my login plugin in wordpress. 我正在使用主题在WordPress中使用我的登录插件。 I have created popup after theme my login register. 我在登录主题后创建了弹出窗口。 I have written jquery to display popup when register form is submit.The code is like : 我已经写了jquery在提交注册表时显示弹出窗口。代码如下:

$('#registerform').submit(function(){
    var mob = $("#cimy_uef_1").val();
    var email = $("#user_email").val();
    var pass1 = $("#pass1").val();
    var pass2 = $("#pass2").val();

    var len = $(".tml-register").find(".error").length;

    if(email != '' && pass1 != '' && pass2 != '' && pass1 == pass2)
    {
        //alert("nisarg");
        $.ajax
        ({
            type: "POST",
            url: "<?php echo plugins_url()."/invoice-system/send_sms.php"; ?>",         
            data: {mob:mob,email:email},            
        }).done(function(html){
            $('.cd-popup').addClass('is-visible');

            //close popup
            $('.cd-popup').on('click', function(event){
                if( $(event.target).is('.cd-popup-close') || $(event.target).is('.cd-popup') ) {
                    event.preventDefault();
                    $(this).removeClass('is-visible');
                }
            });
            //close popup when clicking the esc keyboard button
            setTimeout(function(){
                $(document).keyup(function(event){
                if(event.which=='27'){
                    $('.cd-popup').removeClass('is-visible');
                }
            });},10000);

        });
    }

Here the form is also submitted. 此处还提交了表格。 When I submit form then page is reload so my popup is display for few seconds. 当我提交表单时,页面会重新加载,因此我的弹出窗口会显示几秒钟。 Here I want to display popup after registration till I close popup. 在这里,我要显示注册后的弹出窗口,直到关闭弹出窗口。 So what should I have to do? 那我该怎么办?

First you need to stop form from submitting, you can do that using: 首先,您需要停止提交表单,可以使用以下方法:

e.preventDefault();

Then you need to resubmit the form on popup close. 然后,您需要在弹出窗口关闭时重新提交表单。 You can do that using: 您可以使用:

$( "#registerform" ).submit();

Your complete code will look like this: 您的完整代码将如下所示:

 $('#registerform').submit(function(e){ e.preventDefault(); var mob = $("#cimy_uef_1").val(); var email = $("#user_email").val(); var pass1 = $("#pass1").val(); var pass2 = $("#pass2").val(); var len = $(".tml-register").find(".error").length; if(email != '' && pass1 != '' && pass2 != '' && pass1 == pass2) { //alert("nisarg"); $.ajax ({ type: "POST", url: "<?php echo plugins_url()."/invoice-system/send_sms.php"; ?>", data: {mob:mob,email:email}, }).done(function(html){ $('.cd-popup').addClass('is-visible'); //close popup $('.cd-popup').on('click', function(event){ $( "#registerform" ).submit(); if( $(event.target).is('.cd-popup-close') || $(event.target).is('.cd-popup') ) { event.preventDefault(); $(this).removeClass('is-visible'); } }); //close popup when clicking the esc keyboard button setTimeout(function(){ $(document).keyup(function(event){ if(event.which=='27'){ $('.cd-popup').removeClass('is-visible'); } });},10000); }); } 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM