我正在尝试创建一个文档标题定时器函数,该函数反映用户使用下拉列表选择的登录时间。
到目前为止,我已经得到了定时器与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>