如何在不使用codeigniter重新加载页面的情况下提交表单

时间:2015-06-13 13:38:59

标签: php jquery ajax forms codeigniter

这是我使用代码点火器

的表单代码
   <div id="tab_register_content"class="content-form hidden">

        <?php echo form_open('renty/sign_up_user')?>

          <div>
            <?php echo form_error('register_email');?>
            <input id="register_email"class="input_placeholder email"type="text"value=""placeholder="Email address"name="register_email"/>
          </div>
          <div>
            <?php echo form_error('password');?>
            <input id="register_name" class="password" type="password" value="" name="password"  onfocusout="get_form_value_from_user()"/>
          </div>


          <div>
            <input id="register_remember_me_checkbox"type="checkbox"class="styled"name="remember_me"value="1"/>
            <label for="register_remember_me_checkbox">
              Remember me next time
            </label>
          </div>

          <input class="admin-form-submit orange_button"type="submit"value="Continue"/>

          <div class="admin_form_link">
            <span class="sign_in">
              <a class="tab_link_button"href="#sign_in"title="">
                Already registered?
              </a>
            </span>for
          </div>
        </form>
      </div>

我正在使用此表单,我想提交from而不重新加载我正在尝试ajax代码的页面,但它没有工作任何建议?我评论了form_open行

   <?php //echo form_open('renty/sign_up_user')?>

然后用ajax尝试了它但它没有工作

   <script type="text/javascript">

  function get_form_value_from_user(){

    var email = $(".email").val();
    var password = $(".password").val();

    if(email != "" && password != ""){

       $.ajax({
          url: '<?php echo base_url(); ?>/index.php/renty/sign_up_user?email='+email+'&password='+password,
          success: 'Working'
      });

    }

  }

</script>

我的控制器

   public function sign_up_user(){

    $this->form_validation->set_rules('register_email','Register Email','required|valid_email|is_unique[sign_up.email]');
    $this->form_validation->set_rules('password','Password','required|md5');

    if($this->form_validation->run() == FALSE){

        $this->load->view('application/index');

    }

    else

    {

        $data['email']    = $_GET['email'];
        $data['password'] = $_GET['password'];

        $this->load->model('renty/db_data');
        $this->db_data->insert($data);
        $this->home();

    }


}

1 个答案:

答案 0 :(得分:0)

无需在表单打开操作中添加renty / sign_up_user。 url属性在jquery中工作。

如果您删除<?php echo form_open('renty/sign_up_user')?> 并替换为<?php echo form_open('')?>,则会解决此问题。

相关问题