Я хочу заполнить поля формы значениями из базы данных сразу после того, как пользователь введет значение в поле #sid. Вот мой пример jQuery / HTML:
<script src="jquery-1.3.1.min.js"></script>
<script type="text/JavaScript">
$(document).ready(function()
{
$('#sid').bind("change", function(){
$.getJSON("test.php?sid=" + $("#sid").val(),
function(data)
{
$.each(data.items,
function(i, item)
{
if (item.field == "saffil")
{
$("#saffil").val(item.value);
}
else if (item.field == "sfirst")
{
$("#sfirst").val(item.value);
}
});
});
});
});
</script>
Вот мой скрипт обработки (test.php, который вызывается методом .getJSON)
<?
require_once("db_pers.inc");
$ssql = "SELECT * FROM contacts_mview WHERE sempid = '".$_GET['sid']."'";
$rres = pg_query($hdb, $ssql);
pg_close($hdb);
$ares = pg_fetch_assoc($rres);
$json = array(array('field' => 'saffil',
'value' => $ares['saffil']),
array('field' => 'sfirst',
'value' => $ares['sfirst']));
echo json_encode($json);
?>
В соответствии с firebug параметр GET прекрасно передается в test.php, а объект JSON возвращается просто отлично:
[{"field":"saffil","value":"Admin"},{"field":"sfirst","value":"Nicholas"}]
однако на странице ничего не происходит, и я получаю следующее сообщение об ошибке:
G is undefined
init()()jquery-1....1.min.js (line 12)
(?)()()test.html (line 15)
I()jquery-1....1.min.js (line 19)
F()()jquery-1....1.min.js (line 19)
[Break on this error] (function(){var l=this,g,y=l.jQuery,p=l.....each(function(){o.dequeue(this,E)})}});
Это мой первый удар по ajax с jQuery, так что любой вклад будет высоко ценится!
Спасибо