Плагин jQuery Form: публиковать динамические поля - PullRequest
1 голос
/ 19 февраля 2010

Я использую jQuery Form Plugin для отправки (POST) веб-формы.

Все отлично работает, если я помещу свои элементы управления в эту форму.

Когда я добавляю (добавляю) динамические поля, используя jQuery (текстовый или скрытый), кажется, что мои поля не могут быть отправлены.

Кто-нибудь сталкивался с такой же проблемой?

Ответы [ 5 ]

0 голосов
/ 22 февраля 2010

Я хотел бы поблагодарить всех за помощь.

Я использую jQuery 1.4.1 для добавления элементов в UL:

var file = "";
FilesToUpload++;
$("#UploadedFilesList")
    .show()
    .append("<li class='element001'><p>" + file + "</p><span class='element002'>x</span><input type='hidden' value='1' id='Attachment_" + FilesToUpload + "' /></li>");

Я добавляю и скрываю элемент, но яЯ также пытался использовать текст.

Я проверил с помощью FireBug, и элементы находятся внутри .... Я проверил, и все TAGS закрыты правильно.Это скрипт, который я использую для публикации формы:

$('#aspnetForm').submit(function()      {
     $(this).ajaxSubmit(options);
     return (false);
});

Все веб-элементы управления asp.net размещены правильно;проблема только с динамическими полями.Я попытаюсь создать пример проекта, чтобы увидеть, есть ли у меня такие же проблемы.Я пробовал в разных браузерах, и результаты совпадают.

Спасибо

Альберто

0 голосов
/ 20 февраля 2010

У меня нет проблем с динамически добавленным полем в моем приложении.

Убедитесь, что новое поле все еще внутри <form> и </form>. Убедитесь, что ваша структура тегов является правильной и сбалансированной. Поместите form открывать и закрывать за пределами элемента блока, например div и table, чтобы новое добавленное поле не попадало за пределы тега form.

Firebug будет вашим лучшим другом, используйте его для проверки добавленного поля и запроса AJAX, отправляемого плагинами форм.

0 голосов
/ 19 февраля 2010

Как вы добавляете свои динамические поля?Я делаю то же самое, добавляя скрытые элементы ввода, и он прекрасно загружает их.

Если быть более точным, я также использую jQuery , поэтому мне любопытно, какая функциональность в jQueryвы используете то, с чем у вас возникли проблемы.

При этом вам нужно будет предоставить больше информации о вашей проблеме, поскольку существует множество проверенных способов успешно сделать именно то, что вы пытаетесьделать.

0 голосов
/ 19 февраля 2010

Я бы так не поступил просто потому, что вижу, что различные браузеры отключают эту возможность в будущем, и тогда вы в самом разгаре.

Почему бы просто не иметь единственное скрытое поле с самого начала и поместить туда все свои переменные и значения в каком-то формате формы строки запроса, например "<variable>=<value>&<variable>=<value>&..."?

Это быстро, просто и не требует рендеринга элементов управления HTML-форм после загрузки страницы.

РЕДАКТИРОВАТЬ: За многочисленные комментарии ниже. Это не может считаться "естественным" для некоторых, но это надежно. Поскольку мы имеем дело со сценариями на стороне клиента, которые, как известно, ведут себя непоследовательно во всех браузерах, я бы пошел на то, что, как я знаю, будет работать. Я не ожидаю, что все предпочтут мой путь, но я поддерживаю его как достойный вариант с преимуществами, которые, по крайней мере, следует учитывать.

0 голосов
/ 19 февраля 2010

Вы можете попробовать подключить плагин к форме отправки:

<script type="text/javascript"> 
    $("#submit").click(function() { 
        // bind 'myForm' and provide a simple callback function 
        $('#myForm').ajaxForm(function() { 
            alert("Thank you for your comment!"); 
        }); 
        return false;
    }); 
</script> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...