2016-12-15 24 views
0

對於那些熟悉的bootbox,您可能可以執行此操作。在Bootbox消息字段中獲取PHP文件

我想要做的是獲取一個模態框內的PHP文件。以下是代碼:

$('#testBootBox').click(function(e){ 
    bootbox.dialog({ 
     title: "Test", 
     message: pageInsertion(); 
    }); 
}); 

function pageInsertion(){ 
    var form = "<?php include('TestPage.php'); ?>"; 
    return form; 
} 

我該如何去做這件事?

+1

你可以做到這一點與阿賈克斯......你叫調用服務器端腳本'TestPage.php' Ajax的功能,然後呈現在客戶端輸出indise您bootbox對話框 – Hackerman

+0

你可以做一些解釋代碼或在網上我可以得到一個類似的例子? –

+0

我可以給你一個完整的答案,但首先,如果你運行你的'TestPage.php'它運行良好,沒有任何錯誤? – Hackerman

回答

0

您可以輕鬆地完成,以使您的服務器響應客戶使用Ajax該任務:

$(function(){ 
    $('#testBootBox').click(function(e){ 
     $.ajax({ 
      url:'testpage.php', 
      type:'get' 
     }).done(function(response){ 
     bootbox.dialog({ 
      title: "Test", 
      message: response; 
     }); 
     }); 
    }); 
}): 
0

只是顯示這個表單中隱藏的div。像這樣:

<div id="hiddendiv" style="display: none;"><?php include('TestPage.php'); ?></div> 
<script> 
    $('#testBootBox').click(function(e){ 
     bootbox.dialog({ 
      title: "Test", 
      message: $('#hiddendiv').html() 
     }); 
    }); 
</script> 

或者你可以把HTML直接:

<script> 
    <?php 
     ob_start(); 
     ob_implicit_flush(false); 
     require include('TestPage.php'); 
     $form = json_encode(ob_get_clean()); 
    ?> 
    $('#testBootBox').click(function(e){ 
     bootbox.dialog({ 
      title: "Test", 
      message: <?php echo $form; ?> 
     }); 
    }); 
</script> 

或者使用AJAX像以前的答案。

0

Hackerman感謝您的幫助。你只有一個錯誤......分號並不是在響應之後。大聲笑 。以下是完整的答案。

$(document).ready(function(){ 



$('#testBootBox').click(function(e){ 
     $.ajax({ 
      url:'TestPage.php', 
      type:'get' 
     }).done(function(response){ 
      bootbox.dialog({ 
      title: "Test", 
      message: response 
      }); 
     }); 
    }); 






    });