Допустим, у меня есть это в HTML-форме ...
<input id="world" type="text" onblur="return hello ('world');" />
И в моем сценарии у меня есть
function hello (id) {
document.write(id);
}
Возвращает мир, как и ожидалось. Если я использую это так, хотя ...
function hello (id) {
var val = $('#' + id).val();
$.post("ajax.php", {
id: val,
});
}
Затем идентификатор возвращает Массив , как я могу заставить его вернуть имя пользователя так, как я хочу.
Спасибо.
По просьбе php стороны вещей ...
if (isset($_REQUEST['username'])) {
$q = $dbc -> prepare("SELECT username FROM accounts WHERE username = ?");
$q -> execute(array($_REQUEST['username']));
if (strlen($_REQUEST['username']) < 3) {
echo '<div class="error">Has to be at least 3 characters</div>';
}
elseif ($q -> rowCount() > 0) {
echo '<div class="error">Username already taken</div>';
}
else {
echo '<div class="success">Username available</div>';
}
}
else {
echo $_REQUEST;
}
Если он должен равняться имени пользователя, как это должно быть, тогда ajax будет успешным, иначе он будет отображать результат $_REQUEST
, который на данный момент Array .
UPDATE
Вызов функции:
<input id="world" type="text" onblur="return ajax ('username');" />
Оригинальная функция:
function ajax (id) {
var val = $('#' + id).val();
$('.loading').fadeIn().delay(100);
$.post("ajax.php", {id: val};
}
Я сделал дамп var в массиве, и он возвращает строку, которая была введена в текстовое поле ?? Не идентификатор, который я передал функции?!? Почему это происходит?
Пример var_dump($_REQUEST)
array
'id' => string 'dadadas' (length=7)