Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Нужно добавить еще одно поле <input> (https://javascript.ru/forum/css-html/64948-nuzhno-dobavit-eshhe-odno-pole-input.html)

рони 15.09.2016 21:52

sergofedor06,
более ничем помочь не могу

sergofedor06 15.09.2016 21:59

ок, спасибо и на этом

sergofedor06 15.09.2016 23:13

вот нашел тоже вариант похожий на то что дал РОНИ

но к сожалению в нем тоже не работает выпадающий поиск от гугла, работает только в верхнем поле, теперь понятно необходимо чтобы все 5 полей физически были в коде страницы, любая генерация яваскриптом генерирует новые поля но поиск тогда не работает, а вообще кому нужно просто ради полей то подойдет!


<script type="text/javascript">
var vcountOfFields = 1; // Текущее число полей
var vcurFieldNameId = 1; // Уникальное значение для атрибута name
var vmaxFieldLimit = 5; // Максимальное число возможных полей
function vdeleteField(a) {
 // Получаем доступ к ДИВу, содержащему поле
 var contDiv = a.parentNode;
 // Удаляем этот ДИВ из DOM-дерева
 contDiv.parentNode.removeChild(contDiv);
 // Уменьшаем значение текущего числа полей
 vcountOfFields--;
 // Возвращаем false, чтобы не было перехода по сслыке
 return false;
}
function addField() {
 // Проверяем, не достигло ли число полей максимума
 if (vcountOfFields >= vmaxFieldLimit) {
 alert("Число полей достигло своего максимума = " + vmaxFieldLimit);
 return false;
 }
 // Увеличиваем текущее значение числа полей
 vcountOfFields++;
 // Создаем элемент ДИВ
 var div = document.createElement("div");
 // Добавляем HTML-контент с пом. свойства innerHTML
 div.innerHTML = "<input name=\"ways[]\" type=\"text\" placeholder=\"Через\" class=\"waypoint-city city-from\"> <a onclick=\"return vdeleteField(this)\" href=\"#\">[X]</a>";
 // Добавляем новый узел в конец списка полей
 document.getElementById("vparentId").appendChild(div);
 // Возвращаем false, чтобы не было перехода по сслыке
 return false;
}
</script>


<div id="vparentId">
<input name="ways[]" type="text" placeholder="Через" class="waypoint-city city-from">
<a onclick="return addField()" href="#">Добавить поле</a>
</div>




может кто мне поможет сделать тот же самый функционал но нужно чтобы все 5 полей были на странице физически, а нажимая на ссылку
Добавить поле
просто отображало это скрытое поле и крестик напротив него если нужно удалить поле.

рони 15.09.2016 23:34

Цитата:

Сообщение от sergofedor06
но к сожалению в нем тоже не работает выпадающий поиск от гугла

вы не могли обьяснить, что это такое?

laimas 16.09.2016 00:01

Цитата:

Сообщение от sergofedor06
// Создаем элемент ДИВ
var div = document.createElement("div");
// Добавляем HTML-контент с пом. свойства innerHTML
div.innerHTML = "<input name=\"ways[]\" type=\"text\" placeholder=\"Через\" class=\"waypoint-city city-from\"> <a onclick=\"return vdeleteField(this)\" href=\"#\">[X]</a>";
// Добавляем новый узел в конец списка полей

<form id="as">
<div class="half-block">
<input name="ways[]" type="text" placeholder="Через" class="waypoint-city city-from" onkeyup="alert(1)">
<span class="waypoint-add"><img src="plus.png" alt=""></span>
</div>
</form>

<button onclick="AddItem()">Добавить</button>

<script> 
function AddItem() {
    var f = document.querySelector("#as"), a = f.querySelector("div:first-child").cloneNode(true);
    a.querySelector("input").value = ""; //etc
    f.appendChild(a)
}
</script>

sergofedor06 16.09.2016 00:28

РОНИ

попробую объяснить, если на странице разместить
все 5 полей инпут

<input name="ways[]" type="text" placeholder="Через" class="waypoint-city city-from">
<input name="ways[]" type="text" placeholder="Через" class="waypoint-city city-from">
<input name="ways[]" type="text" placeholder="Через" class="waypoint-city city-from">
<input name="ways[]" type="text" placeholder="Через" class="waypoint-city city-from">
<input name="ways[]" type="text" placeholder="Через" class="waypoint-city city-from">



то при вводе в любое из 5 полей слова у меня происходит выпадающий поиск! по любому из 5 полей, это при условии что все поля как я показал выше физически присутствуют в коде страницы, то поиск тогда работает во всех полях!

а вот если идет генерация нового поля при помощи JS
то в этом случае физически в коде присутствует только одно поле
хоть визуально на странице я открыл новых 5 полей, и получается что поиск от гугл работает только в одном из 5 полей.


Так что мне нужен какой-то вариант

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

sergofedor06 16.09.2016 00:32

нужно что-бы одно поле отображалось в браузере, а остальные 4 поля были в css хиден не отображались на странице, при нажатии на
Добавить поле
открывалось это скрытое поле и напротив него был (х) если нужно человек мог его закрыть.
Вроде все.
Спасибо.

sergofedor06 17.09.2016 00:07

Господа!
подскажите как мне сделать чтобы когда
я нажимаю на ссылку Добавить еще поля
поля показались все это работает норм, нужно сделать чтобы сама ссылка Добавить еще поля
исчезла после того как по ней кликнул и открылись дополнительные поля!


<style type="text/css">
.spoiler_body { display:none; font-style:italic; }
.spoiler_links { cursor:pointer; font-weight:bold; text-decoration:underline; }
</style>


<script type="text/javascript">
$(document).ready(function(){
$('.spoiler_links').click(function(){
$(this).next('.spoiler_body').toggle('normal');
return false;
});
});
</script>


<input name="ways[]" type="text" placeholder="Через" class="waypoint-city city-from">
<div class="spoiler_links">Добавить еще поля</div>
<div class="spoiler_body">
<input name="ways[]" type="text" placeholder="Через" class="waypoint-city city-from">
<br>
<input name="ways[]" type="text" placeholder="Через" class="waypoint-city city-from">
<br>
<input name="ways[]" type="text" placeholder="Через" class="waypoint-city city-from">
<br>
<input name="ways[]" type="text" placeholder="Через" class="waypoint-city city-from">
</div>

sergofedor06 17.09.2016 00:09

нужно чтобы после клика по ссылке отобразилось 5 инпут полей, а самой ссылки не видно стало.

рони 17.09.2016 00:13

sergofedor06,
$(this).hide().next


Часовой пояс GMT +3, время: 02:10.