我正在尝试创建一个文档标题计时器功能,它反映用户使用下拉列表选择的登录时间。
到目前为止,我已经让计时器工作的默认时间为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>
如果可能存在重复的问题,我道歉。我确实通过论坛搜索并尝试了多种解决方案,但我怀疑我错过了让它发挥作用的关键部分。
答案 0 :(得分:3)
正如mesutozer所说,你不能在javascript中使用php变量。您必须使用类似
的内容从html文档中获取值var i = document.getElementsByName('droptime')[0].value;
答案 1 :(得分:0)
它的abit很奇怪,但我正在解析整个地方的数据加上混乱。我也混淆了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>