gpt4 book ai didi

使用 JQuery 提交 PHP Codeigniter 表单

转载 作者:行者123 更新时间:2023-12-01 23:25:04 26 4
gpt4 key购买 nike

我是 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();
返回假;
});

Controller 功能:

公共(public)函数 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 验证功能应该适用于此。

提前致谢.....

最佳答案

使用.preventDefault()而不是仅仅在 anchor 点击事件上返回 false。

我以前也遇到过这种情况,在我看来,使用 .submit() 的地方有冲突。在单击事件中并返回 false 以停止 anchor 的默认行为。

关于使用 JQuery 提交 PHP Codeigniter 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10030340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com