Ajax-запрос. Не получается забрать данные из инпута

A
На сайте с 18.10.2007
Offline
125
571

Набросал такую вот функцию, для отправки запроса на страничку с результатами поиска. Но она берет из инпута#ajaxSearchString дефолтное значение value, которое было при загрузке страницы. Что я сделал не так?

<script>

$(document).ready(function(){
$('body').on('keyup', '#ajaxSearchString', function() {
var search = $('#ajaxSearchString').attr('value');
var data = 'id=117&search=' + search;
$.ajax({
url: 'index.php',
type: 'GET',
data: data,
dataType: 'html',
async: false,
success: function(response){
$('.searchPreResults').html(response);
}
});
})
});
</script>
Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного.
M2
На сайте с 11.01.2011
Offline
341
#1

А почему бы не отправить данные POSTом? У меня так сделано в интернет-магазине, точно так же инпут, но я отправляю данные по потере фокуса инпутом. Т.е. набрали текст, перешли на следующее поле или нажали ENTER - всё, данные пошли. И в POST всегда будет то значение, которое было введено, а не которое по умолчанию.

------------------- Крутые VPS и дедики. Качество по разумной цене ( http://cp.inferno.name/view.php?product=1212&gid=1 ) VPS25OFF - скидка 25% на первый платеж по ссылке выше
A
На сайте с 18.10.2007
Offline
125
#2
mark2011:
А почему бы не отправить данные POSTом? У меня так сделано в интернет-магазине, точно так же инпут, но я отправляю данные по потере фокуса инпутом. Т.е. набрали текст, перешли на следующее поле или нажали ENTER - всё, данные пошли. И в POST всегда будет то значение, которое было введено, а не которое по умолчанию.

Дело не в методе, у меня нет проблемы с собственно отправкой данных. У меня проблема с получением значения инпута, уже на этом этапе:

var search = $('#ajaxSearchString').attr('value');
S
На сайте с 27.06.2011
Offline
34
#3

Попробуйте так:

var search = $('#ajaxSearchString').val();

DiAksID
На сайте с 02.08.2008
Offline
236
#4
alarm:
Дело не в методе, у меня нет проблемы с собственно отправкой данных. У меня проблема с получением значения инпута, уже на этом этапе:
var search = $('#ajaxSearchString').attr('value');

ну а что Вы хотели? считываете значение атрибута DOM элемента, а нужны введенный данные ;) ...

show must go on !!!...
A
На сайте с 18.10.2007
Offline
125
#5
sayp:
Попробуйте так:
var search = $('#ajaxSearchString').val();

Воистину утро вечера мудренее) Вчера это было первое что я попробовал, но допустил синтаксическую ошибку))

Да в таком варианте работает, спасибо.

---------- Добавлено 19.03.2013 в 11:21 ----------

DiAksID:
ну а что Вы хотели? считываете значение атрибута DOM элемента, а нужны введенный данные ;) ...

Не хватает академических знаний, учусь вот так, на ошибках:o

DiAksID
На сайте с 02.08.2008
Offline
236
#6
alarm:
... Не хватает академических знаний, учусь вот так, на ошибках:o

наводка: Get the current value of the first element in the set of matched elements or set the value of every matched element

😂 пардонтий, уже навели...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий