У меня есть многопользовательская форма поиска, которую я создаю. Существует 9 различных полей поиска. Однако ни одно из них не является обязательным. Единственное требование - заполнить хотя бы одно поле.Обработать только отредактированные поля в форме Codeigniter
Все они отображают значение по умолчанию (т. Е. «Состояние») при загрузке вместо использования меток, чтобы указать, какова цель поля поиска. Итак, если вы отредактируете одно поле, но оставите остальные восемь в покое, то все девять будут по-прежнему иметь значение.
Есть ли хороший, эффективный способ справиться с этим? Я бы предпочел не выполнять вручную логику в jQuery перед отправкой (например, if($(inputid).val() == 'Default Value') { ...
) или контроллером (например, if($this->input->post('name') == 'default value') { $data['name'] = ''
), потому что будет несколько итераций этого поиска по всему сайту, поэтому динамическое решение будет невероятно полезным и сохранить кучу времени.
Спасибо!
EDIT вот суть того, что я закончил с после @ veddermatic посткризисного ниже:
оказанной формы:
<form id="search-form" action="spend/search">
<input id='fname' value='First Name' data-original_value='First Name' name='fname'/>
<input id='lname' value='Last Name' data-original_value='Last Name' name='lname'/>
...
</form>
призрак формы:
<form id="ghost-form" action="spend/search">
<!--nothing here yet-->
</form>
jQuery для обработки всего:
$('.do-the-search').click(function(e) {
e.preventDefault();
$('#search-form input').each(function() {
var $this = $(this);
if($this.attr('data-original_value') != $this.val())
{
var clone = $this.clone();
$("#ghost-form").append(clone);
}
});
$("#ghost-form").submit();
});
большого ответа. Я уже делаю нечто похожее. мы даем визуальное представление стороне запроса, создаваемой пользователем, поэтому на 'blur()' ввода i нажимаем его на div. Я могу включить здание призрачной формы одновременно. благодаря! –