When changing the form (select / input), you must send the POST values by request. Handlers:
get '/' do @result = PhoneBook.all #вывести всю таблицу PhoneBook erb :index end post '/' do @column = params[:column] @filter = params[:filter] @result = PhoneBook.where("vPhoneBook.`#{params[:column]}` LIKE ?", "#{params[:filter]}%") #Фильтрация запроса. поиск прикрепленный к меню erb :index end My attempts to build something with JS and form:
< script type = "text/javascript" > function SendForm() { var column = document.getElementById('column').value; var filter = document.getElementById('filter').value; $.ajax({ url: '/', type: 'POST', data: { 'column': column, 'filter': filter } }); } </script> <form action="/" class="navbar-form navbar-left" method="POST"> <div class="form-group"> <select id="column" name="column" class="form-control"> <option value="OrgStrukture">Организационная структура</option> <option value="housing">Корпус</option> <option value="service">Служба</option> <option value="units">Подразделение</option> <option value="ph_city">Городской номер</option> <option value="ph_cityNew">Новый городской</option> <option value="ph_local">Местный номер</option> <option value="floor">Этаж</option> <option value="note">Примечание</option> </select> <input id="filter" name="filter" type="text" class="form-control" placeholder="Введите запрашиваемую информацию" value="<%= @filter %>"> </div> <button type="submit" class="btn btn-default">Поиск</button> <button onclick="window.print();return false;" class="btn btn-default">Печать</button> </form>
$.post('/', { column: $("#column").val(), filter: $("#filter").val() });Tie your function to a submission form, or abandon the form as such, and do it simply by clicking on the button - teran$.ajax....? - QWD666sendForminternals. There is no point in the<form>by itself, because you disable its behavior and send the data yourself. All input and selects can perfectly live without the form tag, if you are worried about them - teran