предотвратить передачу другого скрытого выпадающего поля с тем же именем в методе получения php

Я использую PHP, Yii. У меня есть 3 вкладки tab1 tab2 tab3.

На каждой вкладке у меня есть раскрывающееся поле с именем type с различными раскрывающимися параметрами в зависимости от вкладки.

Когда я выбираю первую вкладку, другие две вкладки type поля других вкладок скрыты. Аналогично в других вкладках.

Проблема заключается в том, что когда я нажимаю кнопку поиска, все три значения выбранного типа отображаются в методе GET, например ?search[type]=130&search[type]=111&search[type]=111, что приводит к неправильным результатам поиска.

Мне не нужно передавать значения скрытого поля в действие метода GET. Я не прошу код для этого. Можно ли не передавать значения скрытых полей? Если это так, направьте меня.


person SO-user    schedule 27.03.2015    source источник


Ответы (1)


При отправке HTML-формы все поля будут переданы запрошенному действию.

Единственный способ, которым я вижу, как это можно сделать, — это использовать комбинацию JavaScript и HTML.

Рассмотрим эти два поля.

<input type='text id='field1' name='field1' value="">
<input type='text id='field2' value="">

Только field1 будет передано с обычной кнопкой отправки формы.

если вам нужно передать field2, вы можете использовать JavaScript и настроить значения для отправки на сервер. Используя JQuery, вы хотели бы что-то вроде:

$.ajax({
    type: 'POST',
    url: 'http://place.your.url.here.com',
    data: { 
        'field1': $("#field1").val(),
        'field2': $("#field2").val(),
    },
    success: function(data){
        alert(msg);
    }
});

Поэтому осталось создать еще одно скрытое поле, которое указывало бы, на какой вкладке вы находитесь, которую вы устанавливаете по клику. Затем при отправке формы вы создаете значения POST, которые необходимо отправить.

person crafter    schedule 27.03.2015