0

在我的网站中,我有一个包含多个文件输入字段的表单。第一个是:

<input type="file" name="questionimages[]" multiple />

我用这个来上传多张图片。接下来是:

<input type="file" name="optionimages1" />
<input type="file" name="optionimages2" />
<input type="file" name="optionimages3" />
...
<input type="file" name="optionimagesn" />

这些输入字段的数量取决于用户输入。除了第一个输入字段之外的所有内容都是由用户动态插入的,我基本上使用 jquery 并使用该html方法在用户每次单击按钮时插入一个新的输入字段,并且输入字段的名称通过添加和递增的值而改变输入文件名称的结尾,这样我就可以将其与其他文件区分开来。

我正在使用 Jquery 表单插件通过 ajax 使用该ajaxSubmit功能上传图像。

问题是,当用户单击相应按钮以插入新输入时,该新输入字段的名称属性等于questionimages[]第一个输入字段的名称,无论用户输入如何,该名称始终存在。即使我写了类似的东西:

$('#someID').html('<input type="file" name="optionimages1" />');

输入字段获取名称questionimages[]而不是名称optionimages1。这是什么原因造成的?Jquery 表单插件会自动覆盖新插入的输入标签的名称值吗?

注意:我想从动态添加的字段中添加图像,以便我可以将它们与通过 PHP 的第一个输入字段上传的图像区分开来,这就是为什么我不使用第一个输入字段来上传所有图像。如果需要,第一个输入字段可以添加多个图像,但是通过其他输入字段添加的图像是我需要用于其他目的的图像,因此我需要将它们与通过第一个输入字段上传的图像区分开来。

4

1 回答 1

0

我认为问题在于您添加字段的方式。但是,如果您想手动设置字段的名称,您可以随时使用:

$("#newfield").attr("name","theNameIWant");

更改输入字段的属性“名称”。您还可以像这样选择最后一个输入字段:

$(".container input:last")

这样您就可以只更改新添加的字段而无需设置 ID

于 2013-04-19T19:03:05.267 回答