0

我想做的是:

  1. 用户登录时发布表单。
  2. 但如果他没有登录,则会向用户显示弹出登录。
  3. 并在该弹出重定向 URL 中添加到隐藏字段。
  4. 当弹出窗口打开并登录时,它会将我重定向到该表单。

  5. 但是当我尝试提交表单时,它没有被提交。

    //  submit button in form
    $('#submitcompanyEnquiry').on('click',function(e){
        e.preventDefault();
        //get data attr to check if user is login
        if($('#companyEnquiry').data('login')){
            //companyEnquiry =>form id 
            //here i try to submit form  
             console.log('testing');    --->it is working
            jQuery('#companyEnquiry').submit();   ---> //the problem is here this piece of code is executing
        }else{
            if($('#companyEnquiry').attr('action')!=''){
                //here i added the current url to hidden field latter to used for redirection
                $('#loginForm #redirectUrl').val($('#companyEnquiry').data('seotitle'));
            }
            //here the login popup is trigger.
            jQuery("#login").trigger('click');
        }
    });
    

我确认的事情:

  1. 确保提供的名称具有唯一的 ID。

  2. 在正在运行的 if 块中控制台一些值,但我提到的代码行。

PHP 部分工作正常我已删除e.preventDefault(); 它工作正常但没有实现所需的功能。

HTML 代码

                <form action="<?=Route::url('default',array('controller'=>'contact','action'=>'user_contact'))?>" data-login="<?php echo $data; ?>" data-seotitle="<?=Route::url('company', array('controller'=>'listing','seotitle'=>$company_seotitle))?>" id="companyEnquiry" method="post">
                    <input type="hidden" name="company_to" value="<?php echo $id; ?>">
                     <?php if (!$auth->logged_in()) { ?>
                        <div class="input-group searchbox">
                            <input type="text" class="form-control search" placeholder="Name" name="name" required aria-describedby="basic-addon1">
                        </div>
                    <?php  }else { ?>
                        <div class="input-group searchbox">
                            <input type="text" class="form-control search" placeholder="Name" required value="<?php echo $auth->get_user()->company_name; ?>" name="name" aria-describedby="basic-addon1">
                        </div>
                    <?php } ?>
                    <?php if (!$auth->logged_in()) { ?>
                        <div class="input-group searchbox">
                            <input type="email" class="form-control search" placeholder="email" required name="company_from" aria-describedby="basic-addon1">
                        </div>
                    <?php  }else { ?>
                       <div class="input-group searchbox">
                            <input type="email" class="form-control search" placeholder="email" required value="<?php echo $auth->get_user()->companyemail; ?>"  name="company_from" aria-describedby="basic-addon1">
                        </div>
                    <?php } ?>
                    <?php if ($auth->logged_in()) { ?>
                    <div class="input-group searchbox">
                        <input type="text" class="form-control search" placeholder="phone number" required name="phone" value="<?php echo $auth->get_user()->company_phone_1; ?>" aria-describedby="basic-addon1">
                    </div>
                    <?php } else { ?>
                        <div class="input-group searchbox">
                            <input type="text" class="form-control search" placeholder="phone number" required name="phone" aria-describedby="basic-addon1">
                        </div>
                    <?php } ?>
                    <div class="input-group searchbox">
                        <input type="text" class="form-control search" placeholder="subject" required name="subject" aria-describedby="basic-addon1">
                    </div>
                    <div class="input-group searchbox">
                        <input type="text" class="form-control search" placeholder="message" required name="message" aria-describedby="basic-addon1">
                    </div>
                    <input data-login="<?php echo $data; ?>" id="submitcompanyEnquiry"  type="submit" name="submit" value="SEND" class="form-control blue-btn send-btn">
                </form>
4

1 回答 1

0

问题只能存在于您将登录变量添加到具有 id 的表单的方式中:companyEnquiry

检查您是否已将其添加为正确的参数,因为 jquerys 数据函数只会读取前面带有“data-”标签的值。

所以你的 php 代码应该是这样的:

echo '<form id="companyEnquiry" ' . ($login ? 'data-login="1"' : '' . '>
于 2018-09-12T13:40:17.290 回答