我是一个纯粹的Javascript初学者。我有一些先进的经验与php,但直到现在我拒绝与JS工作。
现在我有一个问题。我希望能够从php生成的日历中获取日期值,并将其放入同一页面/脚本下方的表单输入字段中。
我的想法是为每个日期数据创建一个click -event。在我的日历中,我有这个:
$date = date('Y-m-d',$daystamp);
$post = '<div class="cal_day"><a href="#" onclick="dateclick($date)">'.$day.'</a></div>';
我想用Javascript做的是:
function dateclick(var x)
{
document.getElementById("date_entry").innerHTML = var x;
}
和我的html-input字段我想在这里选择日期值:
<input type="text" id="date_entry" name="abs_date" size="15" max-length="15"/>
我确信解决办法很简单。在W3Schools,我看到JS的输出不需要返回所有的时间?我应该加吗?
谢谢你的任何回答或帮助。
更新:所以我尝试了你提到的解决方案:-我删除了"var"之前的x。-我已经封装了$date.
它仍然不能工作。当我用OPERA查找元素时,它告诉我它是一个事件处理程序,但源文件丢失。但是我已经包含了functions.js和同一文件中的另一个函数工作得很好。我在W3Schools的试验田尝试了同样的事情,它在那里奏效了。所以我猜我的结构里有什么东西出了问题。
日历源行包含在表单元素上方。这是个问题吗?
我不知道我是否电击了什么。
是问题是我需要将值放入一个输入元素中。
下面的代码可以工作:
function dateclick(x)
{
document.getElementById('date_entry').value=x;
return false;
}
谢谢你的帮助!
你的php代码应该是:
$date = date('Y-m-d',$daystamp);
$post = '<div class="cal_day"><a href="#" onclick="dateclick('''. $date. ''')">'.$day.'</a></div>';
你的javascript应该是:
function dateclick(x)
{
document.getElementById("date_entry").innerHTML = x;
return false; // This will force the browser not to load the url.
}
你不用费那么大的劲了,这应该能行:
<script>
var phpDate = "<?php echo $date; ?>";
</script>