【发布时间】:2012-04-19 07:05:42
【问题描述】:
我是 PHP Codeigniter 框架的新手。我正在设计一个使用链接的页面。单击链接时,它正在调用一个 jquery 函数,该函数通过 jquery 提交表单。我已经使用 codeigniter 表单验证方法进行服务器端验证,暂时我禁用了客户端验证。
问题是在这个通过jquery提交表单的过程中,codeigniter表单验证方法不起作用。
但是如果我使用提交按钮来提交表单,那么 codeigniter 表单验证方法可以完美运行。
如果我需要通过jquery提交表单并使用codeigniter表单验证方法,请告诉我该怎么做。
请在下面找到代码:
登录表格:
<?php echo validation_errors(); ?>
<form name="login-form" id="login-form" method="post" action="<?php echo base_url();?>index.php/login/login_form" >
<H2>Login</H2>
<div id="login-box-name">
Email:
</div>
<div id="login-box-field">
<input name="user-name" id="user-name" class="form-login" title="Please Enter Correct User Name" value="" size="30" maxlength="2048" />
</div>
<div id="login-box-name">
Password:
</div>
<div id="login-box-field">
<input name="password" id="password" type="password" class="form-login" title="Please Enter Correct Password" value="" size="30" maxlength="2048" />
</div>
<br />
<span class="login-box-options">
<input type="checkbox" name="1" value="1" title="Want this computer to remember you!!"> Remember Me <a href="#" id="login-div-change">Forgot password?</a>
</span>
<br />
<br />
<a href="" id="login-submit">
<img src="<?php echo base_url();?>assets/images/login-btn.png" width="110" height="40" style="margin-left:90px;" />
</a>
<input type="submit" name="submit" id="submit" value="Submit" />
</form>
点击“链接”提交表单的jquery函数:
$("#login-submit").click(function() { $('#login-form').submit(); 返回假; });控制器功能:
公共函数 login_form() { $this->load->helper(array('form', 'url')); $this->load->library('form_validation'); $data['title'] = '登录'; $data['errorMessage'] = ''; $this->form_validation->set_rules('user-name', 'Email', 'required'); $this->form_validation->set_rules('password', 'Password', 'required'); if ($this->form_validation->run() == FALSE) { $this->load->view('templates/header', $data); $this->load->view('login', $data); $this->load->view('模板/页脚'); } 别的 { $this->load->view('templates/header', $data); $this->load->view('模板/菜单'); $this->load->view('index', $data); $this->load->view('模板/页脚'); } }如果我点击表单的“提交”按钮,那么 codeigniter 验证适用于用户名和密码字段。但是如果我点击 id="login-submit" 的链接,那么它会调用 jquery 函数并提交表单。但是这次 codeigniter 验证不适用于用户名和密码字段。
我需要通过链接提交表单,codeigniter 验证功能应该可以解决这个问题。
提前致谢.....
【问题讨论】:
-
一些代码可能会有所帮助...您确定在控制器中为 jQuery 和默认提交操作调用相同的函数吗?
-
老兄!我非常喜欢 jquery 和 CI,整天都在使用它,让我告诉你一些对你有很大帮助的事情!看看this jQuery Plugin,它会让你的生活轻松100倍,还记得在你需要从php方面看到一些不太加起来的东西时使用
print_r -
另一个提示我可以给你bookmark this page并经常使用它,使用它的一个好方法是单击左上角的
Table of Contents标签,当它打开时,使用(在chrome中是什么我使用)ctrl+f 调出“查找”,然后只需键入您要查找的内容并快速轻松地找到链接 -
如果你给我更多的工作,(即显示一些代码)我会尝试从所有 3 个方面(jQuery、Form Plug 和 CI)为你创建一个完整的示例
-
你的意思是它不工作?你检查了网络选项卡/萤火虫,看看 jquery 函数返回什么?
标签: php codeigniter