【问题标题】:HTML5 File Upload Input - onChangeHTML5 文件上传输入 - onChange
【发布时间】:2013-09-15 22:58:19
【问题描述】:

当用户选择要上传的文件时,我会显示两个按钮之一,以根据文件的数量对文件执行操作。我通过在文件输入标记中包含onchange=getNumFiles(this) 来获取文件数。

我的问题是我隐藏了按钮以在用户单击它后对文件执行操作,并且如果用户第二次选择相同的文件,则该按钮不会“重新呈现”。发生这种情况是因为文件上传输入实际上从未更改,因为输入仍保留原始文件选择。我该如何解释?

有没有办法清除文件上传输入的内容?我尝试将值设置为 null 无济于事。或者我应该使用除 onchange 之外的其他事件吗?希望这是有道理的....

【问题讨论】:

标签: javascript jquery html file-upload onchange


【解决方案1】:

"有没有办法清除文件上传输入的内容"

是的,请在表格上致电.reset()

$("#myform")[0].reset();

现在,如果再次选择同一个文件,它将正确触发更改事件,因为它再次从无变为有。

【讨论】:

  • 一个问题,为什么需要数组符号 [0] 来引用表单?
  • 因为 jQuery 没有 .reset() 方法。 .reset 是所有表单都有的原生方法,它通常在单击 <button type="reset">Reset</button> 时被调用,它将所有输入重置为默认值。
  • 清除文件输入的唯一其他方法是克隆它或删除它并创建一个新的。您几乎无法访问文件输入的值。
猜你喜欢
  • 1970-01-01
  • 2017-09-29
  • 1970-01-01
  • 2016-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-04
相关资源
最近更新 更多