2

我在一个页面中有两个表单,注册和登录。如果用户尝试在“register_username”字段中输入用户名,则在模糊、ajax 上检查该用户名是否已被使用。一切正常。但我发现如果这个 ajax-call 已经发出,然后你在登录表单上单击提交,它会重定向到 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();

注意: 这都是简化的,表单实际上是在不同的视图上,只有寄存器有一个控制器

4

1 回答 1

1

我只是盲目猜测,因为您没有提供太多信息。似乎您的 javascript 覆盖了您的提交按钮的单击事件,因此请尝试将其添加到您的中function(result),看看是否有任何变化:

$('submit_button_selector').unbind();

当然,用您的按钮选择器更改 $('XXX') 部分,通常应该像$('#my_form).find(':submit')

它真的是一个盲点,更多信息会有很大帮助。

于 2012-12-20T18:41:55.483 回答