簡體   English   中英

如果我單擊包含“ href”的鏈接,則不會顯示Bootbox模態

[英]Bootbox modal is not showing up if I click on a link that contains an “href”

好的,所以我正在使用啟動箱,它可以完美運行,但是當我想在PHP的鏈接中發送變量時,所有的JavaScript都可以運行,但是啟動箱卻不能。

----這有效----

<a href='#' class="alert_without_href">I dont have an href</a>
<script>
$(document).ready(function()
 {
    $('a.alert_without_href').on('click', function()
    {
        alert('This works');
        bootbox.alert("This ALSO works");
    });
});
</script>

----這不起作用----

<a href="?name=Jacob" class="alert_with_href">I have an href</a><br><br>
<script>
   $(document).ready(function()
   {
      $('a.alert_with_href').on('click', function()
      {
        alert('This works');
        bootbox.alert("This one DOESNT work"); <---- PROBLEM IS HERE
        alert('This also works');
      });
   });
</script>

----然后最后顯示----

<?php
    if ($_SERVER['REQUEST_METHOD'] === 'GET')
    {
        echo 'Hello ' . $_GET["name"];
    }  
?>

我確實需要在鏈接中傳遞變量,但無法將其取出。 我怎樣才能解決這個問題?

提前致謝

----編輯----我在下面添加了一張表格的圖片,其中說明了必須執行的操作

用戶表

-僅當您看到圖像時才閱讀-因此,表中“操作”下的每個鏈接都會創建一個帶有用戶唯一ID變量的鏈接。 單擊它時,我檢查是否設置了$ _GET ['remove_id'],然后運行MySQL查詢以刪除具有該ID的那個人。

因此,基本上,如果要刪除用戶,Bootbox的想法是作為一條確認消息,我不想使用普通的alert(''),因為可以將其禁用。

ps刪除功能確實有效,我現在只想使用bootbox添加確認。

Bootstrap(以及Bootbox)模態不會生成阻止事件,因此,如果您希望在單擊超鏈接時發生某些事情,則需要防止默認行為(頁面導航)。 就像是:

<a href="?name=Jacob" class="alert_with_href">I have an href</a><br><br>
<script>
   $(document).ready(function() {
      $('a.alert_with_href').on('click', function(e) // <-- add an event variable
      {
        e.preventDefault(); // <-- prevent the event
        bootbox.alert("I am an alert!");
      });
   });
</script>

既然您說過要確認某件事,請使用bootbox.confirm和一些AJAX:

<a href="?name=Jacob" class="alert_with_href" data-name="Jacob">I have an href</a><br><br>
<script>
    $(document).ready(function() {
        $('a.alert_with_href').on('click', function(e) // <-- add an event variable
        {
            e.preventDefault(); // <-- prevent the event

            var data = { name = $(this).data('name') };
            bootbox.confirm("Really delete?", function(result){
                if(result){
                    $.post('your-url', data)
                        .done(function(response, status, jqxhr){
                            // do something when successful response
                        })
                        .fail(function(jqxhr, status, error){
                            // do something when failure response
                        });
                }// end if
            }); // end confirm
        });
    });
</script>

我還添加了一個數據屬性,以使其更易於獲取發布值(不要使用GET請求執行刪除操作)。 我認為您將在成功刪除后重新加載頁面,或者可以使用.remove刪除包含要刪除項目的“行”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM