如何防止表单提交后的页面重定向/刷新,同时保留文件输入?jQuery的

RWe*_*ndi 0 javascript ajax asp.net-mvc jquery

我有一个文件上传表格如下:

<form id="upload" action="someurl" method="post" enctype="multipart/form-data">
  <label for="file">Filename:</label>
  <input type="file" name="file" /> 
  <input type="submit" value="submit" />
<form>
Run Code Online (Sandbox Code Playgroud)

问题是,每次我提交表单时,我都会被重定向到表单的操作URL.

如何在仍然保持同一页面的同时提交此表单?使用ajax或preventDefault将无法正常工作,因为我将丢失文件流.

Rendy

yak*_*ang 5

如果您 iframe的页面上有隐藏的内容,

<iframe id="hidden-iframe"></iframe>
Run Code Online (Sandbox Code Playgroud)

然后target在表单中添加一个:

<form id="upload" action="someurl" method="post" target="hidden-iframe" enctype="multipart/form-data">
  <label for="file">Filename:</label>
  <input type="file" name="file" /> 
  <input type="submit" value="submit" />
<form>
Run Code Online (Sandbox Code Playgroud)

你完成了 !

  • 我不得不使用name ="hidden-iframe"而不是id ="hidden-iframe"来防止新标签也打开.请参阅[此问题]的第二个答案(http://stackoverflow.com/questions/5638529/uploading-file-in-a-form-without-page-refresh) (2认同)