Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.03.2017, 15:30
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Передача переменной в файл 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'];

Но что-то не фурычит

Последний раз редактировалось Янковиц, 12.03.2017 в 15:36.
Ответить с цитированием
  #2 (permalink)  
Старый 12.03.2017, 16:03
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Янковиц
Предполагаю, что нужно написать что-то вроде:
Для чего, если метод .serialize() уже возвращает это поле?

Выбросить вот это:

var str = $(this).serialize();

и

data: ({
str,
})

написав одной строкой и без ошибок:

data: $(this).serialize(),
Ответить с цитированием
  #3 (permalink)  
Старый 12.03.2017, 16:08
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Понял, спасибо. А как на счет передачи переменной?
Ответить с цитированием
  #4 (permalink)  
Старый 12.03.2017, 16:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Янковиц
А как на счет передачи переменной?
Какой переменной, если речь шла о "tel", а это поле формы, которое, как уже было сказано, JQ помещает в запрос?
Ответить с цитированием
  #5 (permalink)  
Старый 12.03.2017, 16:14
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Извините, вообще не понял.
Ответить с цитированием
  #6 (permalink)  
Старый 12.03.2017, 16:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Янковиц
Извините, вообще не понял.
А я значит должен в любом случае понять о какой переменной идет речь даже если сам хозяин этого не понимает?
Ответить с цитированием
  #7 (permalink)  
Старый 12.03.2017, 16:24
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Ааа, вопрос не понял. Нужно передать переменную tel, данные которой берутся из inputa.
Ответить с цитированием
  #8 (permalink)  
Старый 12.03.2017, 16:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Янковиц
Ааа, вопрос не понял. Нужно передать переменную tel, данные которой берутся из inputa.
Нет в полях ввода формы никаких переменных, это свойство value его. Изучайте методы jQ, а если что не понятно, то перед запросом (перед строкой $.ajax({ ) выполнить вот такой код alert($(this).serialize()).
Будут после этого вопросы?
Ответить с цитированием
  #9 (permalink)  
Старый 12.03.2017, 16:45
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Я имею в виду, что нужно взять value из input tel и отправить её в php файл.
Ответить с цитированием
  #10 (permalink)  
Старый 12.03.2017, 16:49
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Будет ли правильно так написать:
var tel = $('#authf input[name=tel]').val();

а потом data: 'tel='+value,
???
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать значение переменной с ява на php wadim Общие вопросы Javascript 1 06.02.2014 00:19
Передача параметров из PHP (JSON) sitesv AJAX и COMET 15 30.07.2013 13:50
Передать значение переменной из Js в Php 12345kro Общие вопросы Javascript 2 05.12.2012 11:35
Передача переменной из js в php, посредством ajax 9xakep Серверные языки и технологии 32 05.05.2012 13:02
Передача данных из JS в PHP - что не так? Rokugan Общие вопросы Javascript 16 30.09.2011 18:52