输入下拉列表“选项值”;变成javascript函数


Inputing drop list"option value" into javascript function

我正在尝试创建一个文档标题定时器函数,该函数反映用户使用下拉列表选择的登录时间。

到目前为止,我已经得到了定时器与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> 

这是我的javascript文件标题

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>
如果有重复的问题,我很抱歉。我确实通过论坛搜索,并尝试了多种解决方案,没有可用的,我怀疑我错过了一个关键的部分,让它的工作。

正如mesutozer所说,你不能在javascript中使用php变量。你需要从html文档中获取值比如使用

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

这有点奇怪,但我在解析数据的地方加上混乱。我还混淆了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> 

这是我的javascript文件标题

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>