2014-07-09 64 views
0

我想要检查用户是否存在于我的数据库中,然后更改我的输入字段的值以匹配该用户的信息。我有下面的代码,但它似乎并没有工作。Javascript函数来改变输入字段

<button onclick="checkAvailability()">Check Availability</button> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<script> 
function checkAvailability() 
{ 
    $(function() 
    { 
     $.ajax(
     { 
      type: 'POST', 
      url: 'test.php', 
      data: "name=" + $("#name").val(), 
      dataType: 'json', 
      success: function(row) 
      { 
       $('#name').val(row[0]); 
       $('#address1').val(row[1]); 
       $('#phone1').val(row[2]); 
       alert('success'); 
      } 
     }); 
    }); 
} 
</script> 

警报消失,但没有值被更改。我使用Firebug检查了响应,响应是一个包含用户信息的JSON对象。我不确定错误在哪里。感谢您的任何意见。

+0

能否请您添加的确切响应JSON你的问题。如果JSON格式正确,则应该访问一个对象,而不是数组。 –

回答

2

如果你有一个JSON对象,你必须使用:$("#name").val(row.name);

0

如果你得到一个JSON那么它可能看起来像这样

var json = [{"name": "sample"},{"phone":"sample"},{"address":"sample"}];

当你正在做行[0]。 what you get is an object["name":"sample"] 所以,你必须进行以下变化

success: function(row) 
      { 
       $('#name').val(row.name); 
       $('#address1').val(row.address); 
       $('#phone1').val(row.phone); 
       alert('success'); 
      } 

还要确保您有输入类型的ID的名称,地址1和PHONE1