jquery ajax表单验证不在chrome中工作

时间:2013-06-03 01:26:52

标签: ajax forms validation google-chrome

我有一个简单的任务,即验证用户是否输入了第一个名字。这在大多数浏览器中都有效,但chrome似乎没有得到ajaxfirstname.php的响应。这是脚本:

jQuery(document).ready(function () {
var validatefirst_name = jQuery('#validatefirst_name');
jQuery('#first_name').keyup(function () {
var t = this; 
if (this.value != this.lastValue) {
  if (this.timer) clearTimeout(this.timer);
  validatefirst_name.removeClass('error').html('<span style="margin-left: 5px;"><img src="images/loader.gif" height="16" width="16" /></span>');

  this.timer = setTimeout(function () {
    jQuery.ajax({
      url: "ajaxfirstname.php",
      data: "action=check_first_name&first_name=" + t.value,
      dataType: "json",
      async: false,
      type: "post",
      success: function (j) {
        validatefirst_name.html(j.msg);
      }
    });
  }, 200);

  this.lastValue = this.value;
}
});
});

和我的HTML

<label for="first_name">First Name</label>
<input id="first_name" name="first_name" type="text" id="first_name" value="<?php 
$name = explode(' ',$this->my->name);
echo $name[0];
?>">
<span id="validatefirst_name"></span>

我打开了开发人员工具,但我没有看到这个特定脚本有任何错误。有没有人对此提出建议?上面的代码看起来是否正确? Chrome会有任何问题吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

可能是因为你在文本框中使用过两次[“id =”first_name“]。请更改此信息让我知道..

id =“first_name”name =“first_name”type =“text” id =“first_name” value =“my-&gt; name”;