下载前的留言框(接受/取消)

时间:2012-02-01 21:17:28

标签: javascript

目前我们的网站上有一个图像,上面写着“下载”,并附有可下载资料的链接。

老板让我确定当人们点击“下载”图片(或者它可能是一个表单按钮)时,它应该提示一条消息(JS消息框)说:“我接受使用条款”和取消按钮。 'Accept'将您带到下载文件,'Cancel'只关闭消息框。 我相信我以前见过这个,如果有人能帮助我,那就太好了。

由于

4 个答案:

答案 0 :(得分:3)

最简单的解决方案是使用默认浏览器确认对话框:

<a href="/download.pdf" onclick="return confirm('I accept terms of use')">Download</a>

答案 1 :(得分:2)

您可以使用内置的confirm功能。

if (confirm("I accept terms of use")){
    // proceed
} else {
    // cancel
}

答案 2 :(得分:0)

也许您可以使用confirm框,其中包含“通过点击确定即表示您同意我们的条款和条件。”

答案 3 :(得分:0)

要做你想做的准分子,请使用这样的函数:

function acceptedTermsAndConditions(eventObject) {
    var accepted = false;
    accepted = window.confirm('Your T&C goes here');
    if (!accepted) {
        if (eventObject.cancelBubble) {     // Cancel in IE
            eventObject.cancelBubble = true;
        }
        if (eventObject.stopPropagation) {  // Cancel in other browsers
            eventObject.stopPropagation();
        }
    }
    return accepted;
}

并将其附加到图片周围的锚标记的点击处理程序。

cancelBubblestopPropagation()会阻止点击事件发生在其他元素上。

也就是说,JavaScript可能不是最佳解决方案,因为任何用户都可以简单地为您的网站关闭JavaScript。如果用户在浏览器中关闭JavaScript,您的代码将无法执行,下载将正常进行而不会提示输入T&amp; C.

更强大的解决方案是更改链接以调用其他页面并将图像作为参数传递下载(即tnc.aspx?image_id=xxxtnc.php?image=xxx.jpg等。)

然后,不同的页面可以只是一个显示T&amp; C的表单,并且必须在服务器端提交以进行处理。如果服务器端代码确定已接受T&amp; C,则重定向到图像以供下载。

希望这有帮助,

皮特