【问题标题】:Jquery ajaxSubmit plugin form input fileJquery ajaxSubmit 插件表单输入文件
【发布时间】:2013-04-19 18:56:17
【问题描述】:

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

<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 上传图片。

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

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

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

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

【问题讨论】:

    标签: javascript jquery html forms plugins


    【解决方案1】:

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

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

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

    $(".container input:last")
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      • 1970-01-01
      • 2015-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多