Php 将AJAX请求与CodeIgniter表单一起使用
我在结合CodeIgniter和AJAX时遇到了麻烦。我有一张报名表。我想要的是,当用户点击我主页上的注册按钮时,他会在弹出窗口中得到一个注册表单。如果他在表单中输入了错误的详细信息,弹出窗口本身会提示他您的详细信息无效,他不得重定向到新页面以显示错误。所以我使用bpopup来弹出表单和ajax请求,但是我不能执行表单验证,我有点困惑。如果用户未通过表单验证,则会因为加载了视图而向用户发出HTML文档警报。如果我不加载视图,它将不会显示登录页面。若我将直接加载视图,我将如何显示用户个人错误,如密码必须为6个字符长。这是我的密码: 我的登录视图:Php 将AJAX请求与CodeIgniter表单一起使用,php,ajax,codeigniter,validation,Php,Ajax,Codeigniter,Validation,我在结合CodeIgniter和AJAX时遇到了麻烦。我有一张报名表。我想要的是,当用户点击我主页上的注册按钮时,他会在弹出窗口中得到一个注册表单。如果他在表单中输入了错误的详细信息,弹出窗口本身会提示他您的详细信息无效,他不得重定向到新页面以显示错误。所以我使用bpopup来弹出表单和ajax请求,但是我不能执行表单验证,我有点困惑。如果用户未通过表单验证,则会因为加载了视图而向用户发出HTML文档警报。如果我不加载视图,它将不会显示登录页面。若我将直接加载视图,我将如何显示用户个人错误,如密
<html>
<head>
<title>Sign In</title>
<script type="text/javascript">
var frm = $('form');
frm.submit(function () {
$("#status").empty();
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
success: function (data) {
if (data == "invalid") {
$('#status').html("Invalid Login Details");
}
else if(data == "valid")
{
$('#status').html("Login successful");
setTimeout(function(){
location.reload();
},600);
}
else
{
$('#status').html("Your Account is not Activated");
}
}
});
return false;
});
</script>
</head>
<body>
<div class="Header">
<h3>Sign In </h3>
</div>
<div id="status"></div>
<div class="main">
<?php echo form_open('xyz/signin'); //Renders the form element and adds extra functionality like Adds a hidden CSFR prevention field.?>
<h5>Email</h5> // For the time being I have remove echo form_error.
<input type="text" name="email" value="<?php echo set_value('email'); ?>" size="25"/>
<h5>Password *</h5> // For the time being I have remove echo form_error.
<input type="password" name="password" size="25"/>
<div><input type="submit" value="Submit" "/></div>
</form>
</div>
</body>
</html>
很抱歉,当我将代码粘贴到这里时,缩进被搞得一团糟。我不知道你的弹出消息是怎么来的,但是如果没有错误和成功消息,请尝试
$this->session->set_flashdata("msg","<span class='m_error'>".$this->lang->line('global_insert_error')."</span>");
我只是需要帮助,我应该如何处理所有我的要求弹出沿边使用CodeIgniter。我有一个登录功能,在控制器加载登录视图。现在我的问题是,如果我加载这个->加载->查看('login'),那么每次用户单击submit时。它将再次加载视图。如何避免这个问题?我只希望我的登录页面加载一次,然后发出AJAX请求以检查登录详细信息。我应该做单独的功能,一个显示视图,另一个检查细节吗?对于弹出窗口,我使用了bpopup,它只加载您在弹出窗口中提供的url检查登录是否成功重定向到另一个页面。
$this->session->set_flashdata("msg","<span class='m_error'>".$this->lang->line('global_insert_error')."</span>");
if($this->session->flashdata('msg'))
{
echo $this->session->flashdata('msg');
}