Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在处理表单时禁用“提交”按钮,并在完成后重新启用?_Javascript_Ajax_Jquery - Fatal编程技术网

Javascript 如何在处理表单时禁用“提交”按钮,并在完成后重新启用?

Javascript 如何在处理表单时禁用“提交”按钮,并在完成后重新启用?,javascript,ajax,jquery,Javascript,Ajax,Jquery,我发现了很多这样的问题,但没有一个能回答我的问题 我有如下HTML: <form action=".."> <input type="submit" value="download" /> </form> 所以我有两个解决方案,它们都很糟糕 一个是捕捉点击或提交事件,但我不知道什么时候 成型 二是手动ajax调用,它不允许我下载文件 我可以要求下载文件吗?你有额外的ULR吗?与表单操作URL不同 如果您可以创建一个新的URL来下载文件,而不是直接将字节写

我发现了很多这样的问题,但没有一个能回答我的问题

我有如下HTML:

<form action="..">
  <input type="submit" value="download" />
</form>
所以我有两个解决方案,它们都很糟糕

  • 一个是捕捉点击或提交事件,但我不知道什么时候 成型
  • 二是手动ajax调用,它不允许我下载文件

  • 我可以要求下载文件吗?你有额外的ULR吗?与表单操作URL不同

    如果您可以创建一个新的URL来下载文件,而不是直接将字节写入ajax响应, 然后我们可以使用iFrame下载文件

    因此,解决方案应该是: 1使用ajax发送文件下载post请求。 ->在服务器端创建文件

    2服务器端完成后,返回目标文件的地址

    3在success方法中,使用文件URL创建一个新的iFrame。 ->在这里,如果内容类型(MIME类型)正确,浏览器将显示下载日志

    在服务器端,我们需要一些空间来保存文件,并需要一个进程来删除文件


    我以前没做过这个。。。只是一个建议P

    @三极管AAAAA和?一旦表单完成处理,如何重新启用输入?我将尝试iframe方法。我尝试使用文件的URL打开新窗口(),但这只是一个失败。谢谢:)事实上,我认为打开一个新窗口下载和iFrame src是一样的。文件的内容类型是什么?它与传递的参数sok不同。祝你好运!:)如果仍然不起作用,请将内容类型粘贴到HTML标题中,我们可以查看一下。:)
    $('form').on('submit', function() {
      disableButton();
      $.get(form_action, function() {
        enableButton()
        // how to force browser to download a file ?
      });
      return false;
    });