2016-03-18 2 views
1

Лучше будет, если вы его увидите. На моем сайте LoloidПолучить значение из поля ввода, добавленного скриптом

Существует окно ввода, в котором пользователь записывает свое имя пользователя. В меню регионе и там пользователь выбирает свой регион, где играет. Когда он выбирает свой регион, в форме есть новый скрытый вход с вашим регионом.

У меня есть файл PHP, где я сохраняю его имя пользователя с $ _POST, но он не работает для региона. Вот мои коды, я понятия не имею, как сохранить свой регион с $ _POST

//.Value are classes for regions 
    $('.Value').click(function(e){ 
     var value = $(e.target).text(); 
     $('.hiddenRegion').html(value); 
    }); 

Здесь есть HTML

<form method="post" action="lol.php" id="form"> 
    <ul> 
     <li class="field"> 
      <input class="input" type="text" autocomplete="off" placeholder="Write a summoner name" name="summonerName" id="summonerName"/> 
      <a id="formSubmit"><i class="icon-search"></i></a> 
      <input type="hidden" name="hiddenInput" class="hiddenRegion"></input> 
     </li> 
    </ul> 
</form> 

И PHP

$region = $_POST['hiddenInput']; 

Когда я распечатать $ регион с эхом, он возвращает только пустую строку

+0

Попробуйте print_r ($ _ POST), чтобы увидеть все, что есть в POST. Если в области нет ничего, проверьте форму, чтобы увидеть, обновляется ли 'hiddenInput' правильное значение в вашей форме (например, в chrome-инспекторе) –

+0

Почему вы помещаете внутренний html ввода в значение? Если вы хотите сохранить значение, вы хотели бы сделать что-то вроде '$ ('. HiddenRegion'). Val (value);' Также, где '.Value' в вашем наборе образцов? Я не вижу ничего там, что заставляет меня задаться вопросом, действительно ли эта функция щелчка стреляет. – Fallenreaper

ответ

1

Вы настраиваете контрольные значения входных и не html.In заказ, чтобы установить или получить контрольные значения входных следует использовать val()

Это должно быть $('.hiddenRegion').val(value);

и не $('.hiddenRegion').html(value);

А чтобы получить значение

$('.hiddenRegion').val() 
+0

Как в мире я мог быть настолько слепым. Большое вам спасибо –

1

У вас также есть другая проблема. Скрытый ввод генерирует новый вход каждый раз, когда вы выбираете регион перед нажатием на поиск.

<li class="field"> 
    <input class="input" type="text" autocomplete="off" placeholder="Write a summoner name" name="summonerName" id="summonerName"> 
    <a onclick="$('#form').submit();"><i class="icon-search" style="top: -9%;"></i></a> 
</li> 

<input type="hidden" class="hiddenRegion" name="hiddenRegion" style="display: none;"></input> 
<input type="hidden" class="hiddenRegion" name="hiddenRegion" style="display: none;"></input> 
<input type="hidden" class="hiddenRegion" name="hiddenRegion" style="display: none;"></input> 
+0

Вы не видите полный код. У меня есть условие, где если .hiddenRegion.length> 1, то он удаляет последнего ребенка :) –

+0

Ага, хорошо, мой плохой :) – SG1Asgard

+0

Я знаю, это плохое решение, но лучше всего для моих навыков –

2

Входные теги никогда не </input> в конце концов, и вы получите и установите его значение в JavaScript, используя .value свойство, или в JQuery метод .val.

Таким образом, это должно решить проблему:

$('.Value').click(function(e){ 
    var value = $(e.target).text(); 
    $('.hiddenRegion').val(value); 
}); 
Смежные вопросы