javascript - 如何防止href重定向到外部页面。

标签 javascript jquery html asp.net twitter-bootstrap

我有一个 Index.Html 文件,我想在 Bootstrap 模式内部打开该文件而不退出模式本身。本质上充当内部链接。我正在尝试使用 ASP.net mvc 来做到这一点。该位置是从 Captivate 9 生成的,我正在尝试将单个幻灯片作为示例添加到模态中

Javascript:

var modal3 = document.getElementById('myModal3');
var img3 = document.getElementById('myImg3');
var modalImg3 = document.getElementById("img03");
img3.onclick = function () {
    modal3.style.display = "block";

}

var span = document.getElementsByClassName("close")[2];
span.onclick = function () {
    modal3.style.display = "none";
}

模态:

<div id="myModal3" class="modal">
    <span class="close" style="color:white">×</span>
</div>

最佳答案

我写的与此类似的东西是使用 Ajax。我不确定你想走这条路,但至少值得一试!您需要添加的只是在您单击的某些元素上添加 btnCreate id,它应该可以工作!

    <!-- modal placeholder-->
<div id='myModal' class='modal fade in'>
    <div class="modal-dialog">
        <div class="modal-content">
            <div id='myModalContent'></div>
        </div>
    </div>
</div>

html about 只是您要加载的内容的占位符。

此脚本只是打开窗口并加载内容。几乎从你的 Controller 拦截它。这可以是您想要加载到此模态窗口中的 PartialView!

$(function () {
    $.ajaxSetup({ cache: false });

    $("body").on("click", "#btnCreate", function (e) {
        $('#myModalContent').load(this.href, function () {
            $('#myModal').modal({
                backdrop: 'static',
                keyboard: true
            }, 'show');
            bindForm(this);
        });

        return false;
    });
});

然后关闭模式窗口。

function bindForm(dialog) {
     $('form', dialog).submit(function () {
        $.ajax({
            url: this.action,
            type: this.method,
            data: $(this).serialize(),
            success: function (result) {
                if (result.success) {
                    $('#myModal').modal('hide');
                } else {
                    $('#myModal').modal('hide');
                }
            }
        });
        return false;
    });
}

关于javascript - 如何防止href重定向到外部页面。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41049018/

相关文章:

javascript - jQuery 计算每个项目并将其编号为 02、03、04,但第一个项目文本应为 "Up Next"

javascript - jQuery 日期选择器不显示时间输入值

javascript - 未输入必填字段时 Asp.net 布局中断(搞砸我的布局)

javascript setTimeout 和一堆圈子的问题

JavaScript : how to re-attach the same event listener to a element reppeared?

javascript - 使用jquery获取div的位置编号

javascript - 插入不带引号的数组,或从数组中删除引号

HTML 和 CSS - 在 Angular 上显示图像

javascript - 在 jstree 中创建一个新节点

html - 悬停时不显示文本,css