代码之家  ›  专栏  ›  技术社区  ›  LeftyX

jquery表单插件:发布动态字段

  •  1
  • LeftyX  · 技术社区  · 15 年前

    我正在使用 jQuery Form Plugin 提交(发布)一个网络表单。

    如果我把我的控件放在那个窗体上,一切都会很好地工作。

    当我使用jquery(文本或隐藏)添加(附加)动态字段时,似乎无法发送我的字段。

    有没有人遇到过同样的问题?

    5 回复  |  直到 15 年前
        1
  •  0
  •   casperOne    15 年前

    如何添加动态字段?我做了同样的事情,附加隐藏的输入元素,它可以很好地上载它们。

    更具体地说,我正在使用 jQuery 同样,我很好奇您使用的jquery中的哪些功能有问题。

    这就是说,你必须提供更多关于你的问题的信息,因为有很多已经证明的方法可以成功地做你正试图做的事情。

        2
  •  0
  •   Donny Kurnia    15 年前

    在我的应用程序中动态添加字段没有问题。

    确保新字段仍在内部 <form> </form> . 确保您的标记结构有效且平衡。放 form 在块元素外部打开和关闭,例如 div table 以确保新添加的字段不在 形式 标签。

    Firebug将是您最好的朋友,使用它检查添加的字段和表单插件发送的Ajax请求。

        3
  •  0
  •   LeftyX    15 年前

    我要感谢大家的帮助。

    我正在使用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,元素在里面…… 我检查过了,所有的标签都关好了。 这是我用来发布表单的脚本:

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

    所有ASP.NET Web控件都已正确发布;问题仅在于动态字段。
    我将尝试构建一个示例项目,看看是否有同样的问题。 我尝试过不同的浏览器,结果是一样的。

    谢谢

    阿尔贝托

        4
  •  -1
  •   Mike Henderson    15 年前

    您可以尝试在表单提交时附加插件:

    <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> 
    
        5
  •  -1
  •   casperOne    15 年前

    我不会这么做,因为我可以看到各种浏览器在将来禁用了这种功能,然后你就进入了困境。

    为什么不从一开始就有一个单独的隐藏字段,并将所有变量和值以某种查询字符串格式(如 "<variable>=<value>&<variable>=<value>&..." ?

    它很快,也很简单,并且不依赖于加载页面后呈现HTML表单控件。

    编辑:根据下面的许多评论。有些人可能不认为这是“自然的”,但它是可靠的。由于我们处理的是客户端脚本,这是出了名的跨浏览器行为不一致,就个人而言,我会去做我知道会起作用的事情。我不希望每个人都喜欢我的方式,但我坚持认为这是一个体面的选择,至少应该考虑到它的优点。

    推荐文章