Jquery ajaxSubmit插件表单输入文件

时间:2013-04-19 18:56:17

标签: javascript jquery html forms plugins

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

<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表单插件使用ajaxSubmit函数通过ajax上传图像。

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

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

输入字段的名称为questionimages[],而不是名称optionimages1。是什么造成的? Jquery表单插件是否会自动覆盖新插入的输入标记的名称值?

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

1 个答案:

答案 0 :(得分:0)

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

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

更改输入字段的属性“name”。 您也可以选择最后一个输入字段:

$(".container input:last")

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

相关问题