![](/img/trans.png)
[英]JQuery-ui Dialog: How can I prevent default action when the user clicks on close button?
[英]When a user clicks the fineuploader button, how can I redirect them instead of showing the file selection dialog?
我们正在使用.net和fineuploader。 如果用户会话已超时,并且他们单击fineuploader按钮,则我们需要能够将他们重定向到登录页面,而不是向他们显示文件选择对话框。
我们已经能够在fineuploader的“提交”事件中进行分类,但是用户在执行重定向之前仍会看到文件选择对话框。
$("#fine-uploader").fineUploader().on("submit", function (event, id, name)
{
if (noSession){
cancelUploads();
window.onbeforeunload = function () { return; }
location.href = "/login";
}
}
我没有看到任何在文件选择对话框之前触发的事件,除非我错过了它( http://docs.fineuploader.com/api/events.html )。
在显示文件选择对话框之前,有什么方法可以做吗?
您可以使用prevent default停止提交操作并运行检查。 如果登录,请使用else语句完成提交。
$("#fine-uploader").fineUploader().on("submit", function (event, id, name) { event.preventDefault(); if (noSession){ cancelUploads(); window.onbeforeunload = function () { return; } location.href = "/login"; } else{ return true; } }
该解决方案可能很简单,只需将点击处理程序附加到基础文件输入元素,防止浏览器对点击进行默认操作(通常会显示文件选择器),然后将用户重定向到您选择的页面:
document.querySelector('input[type="file"]')
.addEventListener('click', function(event) {
event.preventDefault()
location.href = "/login"
})
当您要重定向时,请添加此事件处理程序;否则,请删除它。 或者,您可以在创建上传器后添加它,并向单击处理程序函数添加一些逻辑,该逻辑仅阻止默认操作并在用户必须重新登录时重定向。
警告:我尚未测试此跨浏览器(仅适用于Chrome)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.