如何在Javascript中添加隐藏的ID列表到表单中?

我在html中有一个简单的表单:

<form action="" method="post">
    <input id="title" name="title" size="30" type="text" value="">
    <input type="submit" value="Save this stuff">
</form>

我在页面上也有一个文件上传,它使用ajax处理上传并将文件添加到mongoDB。 文件上传返回文件的mongoDB标识(例如12345 ),我想将该标识添加到表单中作为隐藏字段,以便在提交表单时将该标识发布到服务器。 由于用户可以添加多个文件,我想添加一个id列表到表单中。

我发现我可以将一个隐藏字段添加到来自JavaScript的表单,但这总是处理单个字段,而不是具有多个值的字段。 所以我想为表单添加一个复选框字段,以便我可以在一个元素中提交多个值,但它有点像黑客。

任何人都可以向正确的方向暗示我如何使用Javascript向表单添加隐藏的值列表? 欢迎所有提示!

[编辑]最后,我想表单看起来像这样:

<form action="" method="post">
    <input type="hidden" name="ids" value="[123, 534, 634, 938, 283, 293]">
    <input id="title" name="title" size="30" type="text" value="">
    <input type="submit" value="Save this stuff">
</form>

我不确定我是否正确理解你的问题,所以我可能只是在这里猜测。

尝试添加多个带有名称(如ids [])的隐藏输入,以便将它们作为数组发布到服务器。

例:

<form action="" method="post">
    <input type="hidden" name="ids[]" value="123">
    <input type="hidden" name="ids[]" value="534">
    <input type="hidden" name="ids[]" value="634">
    <input type="hidden" name="ids[]" value="938">
    <input type="hidden" name="ids[]" value="283">
    <input type="hidden" name="ids[]" value="293">
    <input type="submit" value="Save this stuff">
</form>

为什么不简单地把所有的id串联成一个像“123456 890,.. etc”这样的字符串,然后将它们作为一个值添加到id inupt中。 当你需要它们时,简单地用'''分开,这会给你一个带ID的数组?

Todo所以只用JavaScript这样的东西应该工作

var elem = document.getElementById("ids");
elem.value = elem.value + "," + newId;

你的意思是说,每当用户点击“上传”按钮,你需要添加一个隐藏的领域的形式? 你可以发布整个表格,应该清除一些东西......

[编辑]你可以将ID存储在数组中,每次将一个ID添加到隐藏字段的值时,你可以做如下事情:
$('#ids')。attr('value',idArray.join());

我只是简单地输入这个信息,所以请原谅任何小错误

链接地址: http://www.djcxy.com/p/83477.html

上一篇: How to add a hidden list of IDs to a form in Javascript?

下一篇: How to pass data from razor view to controller in mvc3?