2014-06-24 131 views
0

使用PHP在JavaScript我有以下代碼如何if語句

<script language="JavaScript"> 
    var needToConfirm = true; 

    window.onbeforeunload = confirmExit; 
    function confirmExit() 
    { 
    if (needToConfirm) 
    { 

     return 'Are you sure?'; 


    } 
    else 
    return 'Continue'; 
    } 

這裏needToConfirm僅僅是一個標誌/變量。我想要的是在if條件中插入php語句,並在條件爲真時執行php語句。誰能幫我??

+1

您需要使用AJAX。 – Scimonster

+0

@Scimonster好的,但我不知道ajax。你能告訴我一個我可以在這裏使用的ajax的特定功能嗎? – user3755087

+0

你能告訴我你放置的這個JS代碼在哪裏,我的意思是任何PHP網頁(.php文件)的.js文件? –

回答

0

不能同時使用PHP和Javascript。 AJAX是您想要的解決方案。像:

<script language="JavaScript"> 
    var needToConfirm = true; 

    window.onbeforeunload = confirmExit; 
    function confirmExit() 
    { 
    if (needToConfirm) 
    { 

     $.post('test.php','',function(res){ 
      //check here response  
     }); 

     return 'Are you sure?'; 


    } 
    else 
    return 'Continue'; 
    } 

代碼test.php的

echo $flag;// what ever it is true or false 
+0

我想你已經過時了。 OP需要一個條件取決於當前視圖,而不是某些服務器響應 – lordvlad

+0

@lordvlad op要檢查標誌變量,所以op可以在** AJAX ** – Manwal

+1

中檢查後端獲取響應,您不能在窗口中使用ajax。 onbeforeunload',因爲在onbeforeunload同步時ajax是異步 – lordvlad

0

的JavaScript運行在瀏覽器上。和PHP在服務器上。服務器將該頁面返回給客戶端。因此,你無法做到這一點。

您可以使用AJAX來實現這種功能。

+0

'window.alert(「<?= $ someString?>」)'證明你錯了。 – lordvlad

0

如果我猜對了,你想向用戶顯示一個消息框,在那裏他必須確認他真的想離開你的頁面,但是,如果設置了特定的PHP變量,對嗎?你不需要AJAX。

<?php if ($needToConfirm === true) { ?> 

window.onbeforeunload = function(){ 
    return 'are you sure?'; 
} 

<?php } ?> 
-1

你不需要阿賈克斯它(但我的解決方案是有點髒:))

首先,有PHP函數返回你的價值。還有例如從我的谷歌地圖API項目:

function nullate($data){ 
    if (empty($data)){ 
    echo "0"; 
    } 
    else{ 
    echo $data; 
} 
} 

後來在身體,你可以做

<body onload="initialize(<? nullate($_POST['north']);?>,<? nullate($_POST['east']);?>)"> 

我知道它的骯髒醜陋骯髒的線。所以要確定。我POST ING數據我美麗的谷歌地圖API頁面,但這種構造檢查,如果有實際的東西送到

,然後google地圖javascript函數:

function initialize(lat,lng) { 
if (lat==0 && lng==0){ 
myLatlng = new google.maps.LatLng(49.53233919502811, 17.02880859375); 
} 
else{ 
myLatlng = new google.maps.LatLng(lat, lng); 
} 
//.... 
} 

所以,你的情況,條件結果必須是echo ed對javascript功能

+0

這是太多的信息,對初學者沒有任何幫助 – lordvlad