JQuery отправить форму -> опубликовать только видимые данные - PullRequest
1 голос
/ 26 октября 2011

У меня есть форма с большим количеством радиокнопок. В зависимости от того, что вы выберете, будут показаны различные наборы кнопок. Можно ли публиковать видимые кнопки только тогда, когда пользователь нажимает кнопку отправки? Спасибо

Ответы [ 3 ]

0 голосов
/ 26 октября 2011

Вы можете отфильтровать переключатели, только если вы инициируете отправку формы вручную, например, с помощью функции .click(fn) или .submit(fn).

Например,

<button id="myFormSubmit"> <!-- in the form -->

//In js file or in the embed function
$(document).ready(function()
{
     $('#myFormSubmit').click(function()
     {
         var filterCheckbox1 = $('input[type=checkbox][name=checkbox1Group1]').val();
         ...
         var filterCheckboxN = $('input[type=checkbox][name=checkboxNGroup1]').val();
     });
});
0 голосов
/ 26 октября 2011

Вы можете перехватить функцию отправки:

$("#formID").submit(function() {
   //Do what you need
});

Затем сделайте запись AJAX, где данные $ ('input: visible'), или удалите скрытые элементы и т. Д.

Примечание: возвращение false предотвращает отправку!

0 голосов
/ 26 октября 2011

возможно, но вы должны полагаться на логику на стороне сервера, чтобы никто не отправлял вам «вымышленные» данные.

Возможно, вы могли бы сделать это, удалив скрытые из формы перед отправкой, какthis (jQuery): -

$(id).remove();

Это удалит все скрытые элементы управления вводом.Однако я бы не стал особенно рекомендовать это (и будьте очень осторожны, если вы делаете это в .net, так как это уничтожит представление состояния и проверку событий.

$('input:hidden').remove();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...