2017-05-28 34 views
0

我不知道爲什麼我不能想出一個辦法做到這一點...這是基本的編程邏輯。出於某種原因,儘管我的想法今天不行。我有一個頁面加載並運行一些JavaScript。當頁面firsdt加載時,JavaScript需要使用默認的變量來運行,但是當用戶點擊頁面上的鏈接,一個PHP變量設置其被髮送到的東西改變if語句的JavaScript的結果JavaScript端。不過出於某種原因,我只是不知道如何讓這個工作。請幫忙。簡單的JavaScript PHP默認的變量問題

<?php 
    $username = $_POST['username']; 
?> 

<script type="text/javascript"> 
    // Change the username 
    var phpusername = "<?php echo $username; ?>"; 
    if(phpusername == (undefined || null)) { 
     (This is where the default condition code will go) 
    } else { 
     (This is where code will run when user updates username) 
    } 
</script> 

還有多一點這個故事,爲什麼我做的事情這樣(同時使用PHP和JavaScript),所以請抵制提供完全不同的解決方案。這個難題還有很多很多,但這個難題的其餘部分並不一定影響這部分的功能。

謝謝!

+1

'phpusername'永遠不會被'undefined'或'null',因爲你已經用'''''引號將它包裹起來,這意味着它總是一個字符串,失敗了等價性測試。 – Xufox

+0

@Xufox有什麼建議嗎? – Atomiklan

+0

@Xufox請將其作爲Atomiklan的答案發布。 Atomiklan,我認爲你在php部分爲$ _POST設置了一個後備/默認空值,然後在js中檢查。但是Xufox首先發現了這個問題,他應該將其作爲答案來獲得信任。 – mickmackusa

回答

1
<?php 
    $username = isset($_POST['username'])?$_POST['username']:''; // set fallback value 
?> 

<script type="text/javascript"> 
    // Change the username 
    var phpusername = '<?php echo $username; ?>'; 
    if(phpusername == '') {        // check if empty 
     (This is where the default condition code will go) 
    } else { 
     (This is where code will run when user updates username) 
    } 
</script> 
+0

沒關係。我不確定默認值是什麼。空字符串是一種可能性。 – Xufox

+0

感謝你們倆。現在很好用! – Atomiklan