【问题标题】:Dynamically Added Form Elements Won't Post动态添加的表单元素不会发布
【发布时间】:2011-11-06 22:37:54
【问题描述】:

我有一个表单,其中有一组被克隆的元素。该表单允许用户输入多个车辆,并复制多个属性(年份、品牌、型号等)。我已经成功克隆了这些元素并且它们具有唯一的名称。但是,在表单发布后,只有 不是 动态创建的元素会被发布,并且可以使用 PHP 访问。如果您需要查看我的代码,我可以将其发布在这里,只是有点冗长。谢谢!

【问题讨论】:

  • 创建 jsfiddle.net 用例比发布你的代码更好
  • 您是否尝试过在提交前提醒动态添加元素的值?
  • 这里有很多可能的故障点;如果您发布一些代码(在此处或在 jsfiddle 上),那将是最好的。要发布的关键代码是 1) 生成动态元素的代码,以及 2) 发布表单的代码
  • 我开始制作 jsfiddle。我会在几秒钟内完成...
  • 这里是:jsfiddle.net/DerKc 我不知道将我的 php 文件放在哪里,所以它在普通 HTML 下被注释掉了。动态添加的内容位于驱动程序信息子部分下。

标签: php jquery forms post dynamic


【解决方案1】:

我粗略查看了您的代码。我认为问题出在提交表单之后。元素正在正确动态生成。

【讨论】:

  • 感谢@vikas-sharma 观看!老实说……这是我第一次尝试表单/PHP。我从小就一直在搞乱 HTML/CSS。除了这种方式,还有其他方法可以获取元素的值吗? $element = $_POST['someelement'];回声$元素;
【解决方案2】:

我知道 OP 相当老了,但以防万一有人也遇到这个问题......将动态添加或修改的元素值发布到 PHP 的一种方法是使用 jQuery 的 serialize()(OP 似乎无论如何都要使用):

$( "form" ).submit( function ( event ) {
    event.preventDefault();
    var url = $( this ).attr( "action" ),
        data = $( this ).serialize();
    $.post( url, data ).done( function() {
        // Redirect to a "sent" page or something
    } )
    .fail( function() {
        //etc etc
    } );
});

【讨论】:

    猜你喜欢
    • 2011-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-21
    • 1970-01-01
    相关资源
    最近更新 更多