我在一个页面中有两个表单,注册和登录。如果用户尝试在“register_username”字段中输入用户名,那么on-blur,ajax会检查是否已使用此用户名。一切正常。但我发现如果已经进行了这个ajax调用,然后你单击登录表单上的提交,它将重定向到php-ajax页面而不是form-proccess php页面。
我使用Code-Ignitier作为PHP框架,使用JQuery作为javascript库,就是这样。如果我要求,我会尝试提供任何其他信息。非常感谢你。
修改 // Javascript代码:
$('#register_username').live('blur',function() {
$.post('ajax/username_taken', {'register_username':$(this).val() },
function(result) {
if(result) {
$('#register_username').addClass('error');
}
else {
$('#register_username').removeClass('error');
}
});
}
// Php代码
echo form_open('form/login',$form_attr);
echo ....
echo form_submit($submit_attr);
echo form_close();
echo form_open('form/register',$form_attr);
echo ....
echo form_submit($submit_attr);
echo form_close();
注:的 这都是简化的,表单实际上是在不同的视图中,只有寄存器有一个控制器
答案 0 :(得分:1)
我只是盲目猜测,因为你没有提供太多信息。您的javascript似乎会覆盖您的提交按钮的点击事件,因此请尝试在function(result)
中添加此内容,看看是否有任何更改:
$('submit_button_selector').unbind();
当然,使用按钮选择器更改$('XXX')部分,通常应该像$('#my_form).find(':submit')
它真的是一个失明,更多的信息会有很多帮助。