Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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
Jquery 将文件作为响应返回时禁用/启用提交按钮_Jquery_Html - Fatal编程技术网

Jquery 将文件作为响应返回时禁用/启用提交按钮

Jquery 将文件作为响应返回时禁用/启用提交按钮,jquery,html,Jquery,Html,我的第一篇帖子!我有一个MVC4/JQuery站点,其中一个控制器根据从视图传入的参数管理PDF报告的创建。创建后,控制器返回一个FileContentResult(),提示最终用户打开或保存文件 当最终用户单击submit按钮生成报告时,我想禁用submit按钮以防止用户单击它两次。然后,在创建报告并且用户选择打开或保存文件后,我需要重新启用submit按钮,以防用户想要更改参数并重新运行报告。这可行吗?Jquery如何知道最终用户选择通过浏览器对话框打开或保存文件 试试这个,只需禁用subm

我的第一篇帖子!我有一个MVC4/JQuery站点,其中一个控制器根据从视图传入的参数管理PDF报告的创建。创建后,控制器返回一个
FileContentResult()
,提示最终用户打开或保存文件


当最终用户单击submit按钮生成报告时,我想禁用submit按钮以防止用户单击它两次。然后,在创建报告并且用户选择打开或保存文件后,我需要重新启用submit按钮,以防用户想要更改参数并重新运行报告。这可行吗?Jquery如何知道最终用户选择通过浏览器对话框打开或保存文件

试试这个,只需禁用submit按钮几秒钟,然后重新启用它

<script type="text/javascript">
    var fewSeconds = 2;
    $('#Btn').click(function () {
        var btn = $(this);
        btn.prop('disabled', true);
        setTimeout(function () {
            btn.prop('disabled', false);
        }, fewSeconds * 1000);
    });

</script>

var fewSeconds=2;
$('#Btn')。单击(函数(){
var btn=$(本);
btn.道具(“禁用”,正确);
setTimeout(函数(){
btn.道具(“禁用”,错误);
},秒*1000);
});

感谢您的快速响应!我曾考虑过这样做,但我有两个顾虑:1)报告生成时间不同,因此有可能在打开/保存对话框之前重新启用按钮;2)如果打开/保存对话框出现但失去焦点,用户可以再次单击提交。根据我的研究,可能无法完成我正在尝试完成的任务。打开一个新窗口并进行JS父/子通信来控制主页上按钮的可见性可能会有些问题,但现在我正在实现Athiban的解决方案。非常感谢。一种方法是使用Ajax并调用您的控制器方法,您可以在函数返回视图时将按钮设置为禁用(成功/失败)将其设置回enabled(已启用)。如果没有,希望它有意义。我可以给你一个示例谢谢Sam。我现在就开始并发布我的结果。嗯……我担心Ajaxification这个问题,因为我使用的是经过验证的视图模型-尽管我只需要检查3个参数-下拉值、范围的开始日期和结束日期。我必须在服务器端为ajax部件添加一些add'l验证检查/处理,我已经在MVC/回发验证中内置了它。Sam-这在ajax中看起来也不可行,因为我在响应中返回文件,而不是在服务器上创建并保存它,然后在服务器上传递一个链接下载它。搜索“ajax FileContentResult”,你会发现一些帖子。好的,我发现的另一件事是你可以使用ViewData…看看它是否适合你这里是一个例子