2013-10-28 26 views
0

我有以下設置: JQuery的:通行證PHP變量到jQuery的彈出

$('.btn-setting').click(function(e){ 
     e.preventDefault(); 
     $('#myModal').modal('show'); 
    }); 

打開一個HTML文件作爲一個對話框,問題是,我不能傳遞任何PHP變量上,以供參考頁:

<a href="<?= echo $UserID; ?>" class="btn btn-info btn-setting">Click for dialog</a> 

任何人都提出了一種方法,使我能夠這樣做?


好的。現在的問題是,我正在查看頁面的源代碼。但是,它顯示了我期望的內容,現在當我單擊按鈕顯示對話框時,它顯示不同的數據...

不推薦我知道,但繼承人現場:

92.236.219.136/Admin/

用戶:堆棧

通行證:堆棧

+1

'<= echo'看起來不正確,'<=''是已經迴音了。 – elclanrs

+0

您是否試圖將PHP傳遞到模態窗口?或者只是該鏈接href? – Revent

+0

@Revent我試圖將一個PHP變量傳遞到模態窗口,所以從User_Settings.php我可以查詢數據庫以更改用戶帳戶 –

回答

2

這是最可靠的方法,特別是如果你想傳遞的不僅僅是一個字符串更多:

<?php 

// Call this function to pass an object to the JS code 
function php_vars_to_js($id, $obj) { 
    echo "<script id='$id' type='text/php_data'>"; 
    echo htmlspecialchars(json_encode(obj)); 
    echo '</script>'; 
} 

// for examlpe 
php_vars_to_js("php_vars", array("a_string" => "foo", "a_num" => 12)); 

,然後讀這樣說:

var php_vars = $.jsonDecode($("php_vars").text()); 
+0

請記住,這是從包含的HTML/PHP頁面查詢,整個內容不是由jQuery創建 –

+0

我不明白您的意見。這個函數只是將對象從服務器傳遞給客戶端的一種安全方式。你可以多次調用它,使用不同的ID,並將結果對象分配給你想要的任何變量 – Raffaele

+0

如果我向你展示實時版本,它會好嗎?因爲我遇到了一個奇怪的問題。在查看源代碼中,我在源代碼中獲取了正確的信息。當我點擊,它不顯示相同的來源 –

0
<a href="<?php echo $UserID; ?>" class="btn btn-info btn-setting">Click for dialog</a> 

你呼應回聲返回

+0

這根本不是問題。 –

+0

問題是一種允許他將php變量傳遞給輸出的方法。看看代碼,這是行不通的,所以這就是爲什麼我建議另一個腳本'方法' 「問題是我無法將任何PHP變量傳遞到頁面上」 – Mazzy

+0

@Mazzy兩件事1)她*和2)已經嘗試在錨點參考中使用回聲不起作用。 –

1

jQuery中你可以得到通過href這樣的:

$('.btn-setting').click(function(e){ 
    e.preventDefault(); 
    var passedValue = $(this).attr('href'); 
    // passedValue contains your <?=$UserID?> from the link 
    // ... 
    $('#myModal').modal('show'); 
}); 
+0

我該如何將這個存儲爲PHP var? –

+0

你需要將它發送到PHP使用ajax –

0

您可以使用THA數據屬性,像這樣:

<a href="<?php echo $UserID; ?>" data-variable1="<?php echo $UserID; ?>" class="btn btn-info btn-setting">Click for dialog</a> 

而在你的JS:??

$('.btn-setting').click(function(e){ 
     e.preventDefault(); 
     var1 = $(this).attr("data-variable1"); // Here is your PHP Variable now.. you can handle it to your Modal etc.. 
     $('#myModal').modal('show'); 
});