2014-03-27 50 views
1

我正在嘗試創建一個文檔標題計時器函數,它反映用戶使用下拉列表選擇的登錄時間。在javascript函數中輸入拖放列表「選項值」

到目前爲止,我已經得到了計時器工作的默認時間爲30秒,我有問題鏈接到我的JavaScript下拉「選項值」。

我不明白的是,不會讓我的變量$ droptime動態地從下拉的「選項值」中獲取值?

的index.php

<form id="form1" align="left" method="POST" action="second.php"> 
<select name ="droptime"> 
<option id="5" value="5" >5 Seconds</option> 
<option id="10" value="10">10 Seconds</option> 
<option id="15" value="15">15 Seconds</option> 
<option id="30" value="30">30 Seconds</option> 
</select> 
</form> 

這是我的文檔標題

second.php

<?php 
session_start(); 
$drop_time = $_SESSION['droptimeD']; 
?> 

<script language="javascript" type="text/javascript" src= "index.php"> 
    <!-- // 

    var m = <?php echo $drop_time; ?> ; 
    var i = new Number(m); 
    function titleTimer(){ 
    document.title = "Time till logout - " + i + " seconds."; 
    i -= 1; 
    if(i < 0){ 
    document.title = "Please login Again" 
    window.location.replace("index.php"); 
    }else{ 
    setTimeout("titleTimer()", 1000); 
    } 
    } 
    // --> 
    </script> 

我道歉的JavaScript是否有可能是一個重複的問題。我通過論壇搜索,並嘗試多種解決方案,沒有可用的,我懷疑我失去了一個關鍵的部分,讓它工作。

+0

你混合PHP方面使用javascript Javascript上下文。 Javascript在瀏覽器上執行,而PHP在後端執行,結果在HTTP響應中返回。 – mesutozer

+1

您可能想要在您的JS – lshettyl

+0

中嘗試<?= $ droptime?>或<?= $ _ POST ['droptime']?>解決了問題。我的編碼有兩個問題。首先是指向其他地方的表單區域。其次,我沒有以正確的方式調用變量,因此無法分割價值。用解決方案編輯問題 – user2691544

回答

0

其升技奇怪,但我解析數據所有的地方加了混亂。此外,我混了PHP和Java腳本上下文

的index.php

<form id="form1" align="left" method="POST" action="second.php"> 
<select name ="droptime"> 
<option id="5" value="5" >5 Seconds</option> 
<option id="10" value="10">10 Seconds</option> 
<option id="15" value="15">15 Seconds</option> 
<option id="30" value="30">30 Seconds</option> 
</select> 
</form> 

這是我的文檔標題

second.php

<?php 
session_start(); 
$drop_time = $_SESSION['droptimeD']; 
?> 

<script language="javascript" type="text/javascript" src= "index.php"> 
    <!-- // 

    var m = <?php echo $drop_time; ?> ; 
    var i = new Number(m); 
    function titleTimer(){ 
    document.title = "Time till logout - " + i + " seconds."; 
    i -= 1; 
    if(i < 0){ 
    document.title = "Please login Again" 
    window.location.replace("index.php"); 
    }else{ 
    setTimeout("titleTimer()", 1000); 
    } 
    } 
    // --> 
    </script> 
3

正如mesutozer所說,你不能在javascript中使用php變量。你必須抓住從使用的東西HTML文檔的價值就像

var i = document.getElementsByName('droptime')[0].value; 
+0

getElementsByName? – lshettyl

+0

我更喜歡使用getElementById,但在這種情況下,你有什麼特別的問題呢? [參考](http://www.w3schools.com/jsref/met_doc_getelementsbyname.asp) – Bowdzone

+0

對不起!我的頭不在它的地方:) – lshettyl