我正在使用jQuery Form Plugin提交(POST)WebForm。
如果我将控件放在该表单上,那么一切都很有效。
当我使用jQuery(文本或隐藏)添加(追加)动态字段时,似乎无法发送我的字段。
有没有人遇到过同样的问题?
答案 0 :(得分:0)
您是如何添加动态字段的?我做同样的事情,附加隐藏的输入元素,并上传它们就好了。
更具体地说,我也在使用jQuery,所以我很好奇你正在使用的jQuery中哪些功能有问题。
话虽这么说,你将不得不提供更多关于你的问题的信息,因为有许多成功的方法可以成功完成你想要做的事情。
答案 1 :(得分:0)
我的应用程序中动态添加字段没有问题。
确保新字段仍位于<form>
和</form>
内。确保您的标记结构有效且平衡。将form
打开并关闭在块元素之外,例如div
和table
,以确保新添加的字段不会超出form
标记。
Firebug将是您最好的朋友,用它来检查添加的字段和表单插件发送的AJAX请求。
答案 2 :(得分:0)
我要感谢大家的帮助。
我正在使用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网页控件都正确发布;问题只在于动态字段。
我将尝试构建一个示例项目,看看我是否遇到了同样的问题。
我尝试过不同的浏览器,结果是一样的。
谢谢
阿尔贝托
答案 3 :(得分:-1)
您可以尝试在表单提交上附加插件:
<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>
答案 4 :(得分:-1)
我不会这样做只是因为我可以看到各种浏览器在将来禁用这种能力,然后你就是小溪。
为什么不从头开始只有一个隐藏字段,并将所有变量和值放在某种查询字符串格式中,如"<variable>=<value>&<variable>=<value>&..."
?
它很快,很简单,并且在页面加载后不依赖于呈现HTML表单控件。
编辑:根据下面的众多评论。这可能不被某些人认为是“自然的”,但它是可靠的。因为我们正在处理因浏览器行为不一致而臭名昭着的客户端脚本,个人而言,我会选择我所知道的工作。我不希望每个人都喜欢我的方式,但我认为它是一个不错的选择,至少应该考虑优势。