Форма не передает динамически сгенерированные входные данные (jQuery) - PullRequest
7 голосов
/ 20 ноября 2011

Здравствуйте, я пытаюсь динамически сгенерировать некоторые входные данные для моей формы, но он не публикует новые сгенерированные входные данные, пока я искал вокруг, и единственное, что мне удалось найти, - это сделать форму прямойдети тега body, и, как в дизайне моего приложения, это невозможно, поэтому кто-то может знать, что происходит и как это решить?И нет, он не работает с .live().

HTML

 <form name="order" id="newOrder" action="../core/query.php" method="post">
        <input type="text" value="Search" id="itemSearch" class="search"/>
        <input type="hidden" id="itemAdd"/>
        <button type="button" class="boton" id="additem">Add</button> 
        <br>
        <div id="items"></div>
        <br>
        <button type="submit" class="boton" > Submit</button>
        <button type="reset" class="boton" style="float:right;"> Cancel</button>
        </div>
    </form>

Javascript

  $('#additem').click(function(){
if($('#itemAdd').val()){
    var rawr = $('<div></div>')
    .css('display','none')
    .html(  '<br><table><td>'
            +currItem.label+'</td><td> Size '
            +currItem.size+'</td><td class="right">$'+currItem.price
            +'</td></table> <input type="hidden" name="contents[]" value="'
            +currItem.value+'"/>');
    var mhm = currItem.price;
    rawr.appendTo('#items').toggle(500).click(function(){
        $(this).toggle(500,function(){
            $(this).remove();
        });
        $('#total').fadeOut("fast",function(){
            total = (parseFloat($(this).text())-parseFloat(mhm)).toFixed(2);
            $(this).text(total).fadeIn("fast");
        });
    });
    $('#total').fadeOut("fast",function(){
        total = (parseFloat($(this).text())+parseFloat(mhm)).toFixed(2);
        $(this).text(total).fadeIn("fast");
        currItem=null;
    });
   }
  });

Так что в основном я использую автозаполнение jQuery UI с удаленным JSON, что при нажатии кнопки #addItem создает таблицу с некоторым текстом и скрытымввод с идентификатором из базы данных, все отображаются корректно, но при отправке они не публикуются и не сериализуются.

Ответы [ 2 ]

9 голосов
/ 20 ноября 2011

Элементам формы требуется атрибут "name", а не просто "id" ... или их данные не будут отправлены.

2 голосов
/ 20 ноября 2011

Возможно, пришло время отладки.Вы уверены, что он не размещен?Следующий jsFiddle использует ваш точный код, и когда форма отправлена, вы можете увидеть значения, помещаемые во вкладку Firebugs NET.

http://jsfiddle.net/s6Umg/

Проверьте реальный пример на вкладке NETв Firebug, чтобы увидеть, проходят ли значения на самом деле.Возможно, есть проблема с доступом к данным, когда они уже опубликованы.Как вы получаете доступ к данным POST в файле query.php?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...