2015-08-29 126 views
1

這裏是我的javaScript函數,它顯示一個對話框,但只有當它在某個div標記中調用的類#dialog時才顯示。將PHP變量傳遞給Java腳本函數參數

<script> 
    $(function() { 
     $("#dialog").dialog({ 
      modal: true, 
      buttons: { 
      Ok: function() { 
       $(this).dialog("close"); 
      } 
      } 
     }); 
    }); 

</script> 

</head> 
<body> 
    <div id="dialog" title="Download complete"> 
    <p> 
     Your registration is complete, press ok to return to the previous page. 
    </p> 
    </div> 
</body> 

我想要做其顯示來自一個PHP字符串變量這樣的消息是什麼:

$message="Your registration is complete, press ok to return to the previous page."; 

而關於JS功能改變#dialog到PHP變量$message

我已經嘗試了幾種方法,它很混亂。請給我一個手。

+1

將變量保存在隱藏字段中,並在需要時使用javascript獲取該值。 – RRK

回答

0

一個常見的方法是在包含PHP數據的頁面上設置一個JS變量,然後用腳本讀取它。你不使用框架,模板,使這更容易假設,你可以寫一些PHP,如:

<php 
echo "<script>MyApp.message=$message</script>"; 
?> 

然後在你的JS,你可以訪問它想:

<script> 
    $(function() { 
     // replace this with whatever logic you need to display the message 
     console.log(MyApp.message); 
    }); 

</script> 

你只需要確保第二個腳本在第一個腳本加載後運行。

+0

事情是即時通訊將使用大量的對話框我website.Here的我的其他腳本: '」);如果($ texto!=「」) \t \t \t print(「alert(\」$ texto \「);」);如果($ redirect!=「」) \t \t \t print(「window.location = \」$ redirect \「;」); \t \t print(「」); \t} >' 所有我需要做的就是打電話給我的功能與我想要的文字: 'ALERTA(「登記是comlete」,「的index.html」);' 我想做的事情這與這個JS功能。 –

+0

你可以從JS調用任何你想要的東西。你只需要首先設置你想在JS變量中使用的PHP內容,就像我上面的例子。如果你有很多消息,你可以很容易地把MyApp.message變成一個JS對象,每個消息都有一個你在JS中使用的密鑰。所以你的JS可以調用類似alert(MyApp.message ['warning']);嘗試實際從PHP生成您的JS腳本通常是一個糟糕的主意,就像您在剛剛給出的示例中所做的那樣。 –

+0

我想通了,但謝謝你試圖幫助反正 –