Передача переменной в файл php
Добрый день. Есть форма и ссылка не связанная с формой. При нажатии на ссылку с a href нужно передать значение поля input name="tel" в password.php, скрипт написан на Ajax. Скрипт рабочий. Единственная загвоздка в передаче переменной. Вот какие есть наработки:
Собственно сама форма: <form id="authf" action=""> <input type="tel" name="tel" value="a3"> <a id="repass" href="#" onClick="submit(); return false;">Получить пароль</a> <input type="submit"> </form> И Ajax обработчик:
jQuery(function($) {
$("#repass").click(function() {
$(this).text('Отправляю...');
var str = $(this).serialize();
$.ajax({
type: "POST",
url: "password.php",
data: ({
str,
}),
success: function(msg) {
if(msg == '100') {
result = '<div class="ok">Пароль отправлен</div>';
$("#repass").text('Отправить снова');
}
else {result = msg;}
$('#info').html(result);
}
});
return false;
});
});
Предполагаю, что нужно написать что-то вроде:
data: ({
str,
tel: $('#authf input[name=tel]').val()
}),
а в php: $usertel = $_POST['tel']; Но что-то не фурычит |
Цитата:
Выбросить вот это: var str = $(this).serialize(); и data: ({ str, }) написав одной строкой и без ошибок: data: $(this).serialize(), |
Понял, спасибо. А как на счет передачи переменной?
|
Цитата:
|
Извините, вообще не понял.
|
Цитата:
|
Ааа, вопрос не понял. Нужно передать переменную tel, данные которой берутся из inputa.
|
Цитата:
Будут после этого вопросы? |
Я имею в виду, что нужно взять value из input tel и отправить её в php файл.
|
Будет ли правильно так написать:
var tel = $('#authf input[name=tel]').val(); а потом data: 'tel='+value, ??? |
Цитата:
|
В общем получилось так:
jQuery(function($) {
$("#authf").click(function() {
$(this).text('Отправляю...');
var tel = $('#authf input[name=tel]').val();
$.ajax({
type: "POST",
url: "password.php",
data: $(this).serialize(),
success: function(msg) {
if(msg == '100') {
result = '<div class="ok">Пароль отправлен</div>';
$("#repass").text('Отправить снова');
}
else {result = msg;}
$('#info').html(result);
}
});
return false;
});
});
Если все верно, то осталось только обработать tel в php файле? |
Все получилось. Спасибо большое.
|
Цитата:
var str = $(this).serialize(); ... data: ({ str }) Вы так и не поняли что такое .serialize(), и что { $(this).serialize() }, это не объект, а бред полный, ошибка, и значит никакой отправки не будет. |
| Часовой пояс GMT +3, время: 11:37. |