Показать сообщение отдельно
  #1 (permalink)  
Старый 16.11.2017, 22:44
Интересующийся
Отправить личное сообщение для ivan899 Посмотреть профиль Найти все сообщения от ivan899
 
Регистрация: 16.11.2017
Сообщений: 24

Объединение двух form
Здравствуйте. Помогите пожалуйста. Имеется две формы поиска. Нужно объединить их в одну. Не знаю как правильно это сделать, так как не силен в js. Нужно сделать одну форму, один input с двумя значениями name, и что бы в форме менялось action, тоже 2 значения.
Частично форма работает, но с хаком в самом компоненте cms, но после обновления всё слетит. Хотелось бы нормально сделать.
В одном input поиск идёт по значению name="serach", в другой name="searchword".
Вот набросал пример что уже есть.
https://jsfiddle.net/897obLqq/4/embedded/
Правильно или нет не знаю.
Правда второй скрипт замены name не работает почему то в jsfiddle, на компьютере работало.
Вот как у меня сделано:
<script src="jquery.min.js"></script>
<script type="text/javascript">
    $(function() {
        $('#inselect').change(function(){
            $('.in').hide();
            $('#' + $(this).val()).show();
        });
    });
</script>

<script type="text/javascript">
window.onload = function(){
    var select = document.forms['select'].elements, i = select.length, array = [];
    while(i--){
        select[i].onchange = function(){
            array.push(this[this.selectedIndex].text);
            select[0].name = array;
        };
    }
};
</script>
<form action="/search" method="post" name="select">

<input name="search" type="text" placeholder="Поиск..." />
								
<Select id="inselect">
	<option value="" disabled="">Где искать?</option>
   <option value="in1" selected>Блог</option>
   <option value="in2">Товары</option>
</Select>
		
		
<div id="in1" class="in" style="display:block">		
		<input type="submit" value="Найти" onclick="this.form.action = 'http://test.loc/search';" />
</div>
<div id="in2" class="in" style="display:none">
	<input type="submit" value="Найти" onclick="this.form.action = 'http://test.loc/search-shop';" />
</div>

</form>
Ответить с цитированием