我正在传递隐藏的值,并将其转换为javascript函数。我想将此值传递给另一个页面。在我打印它之前,它给了我[object HTMLInputElement]
$ var4 = 1;
echo "<input type='hidden' id='var4' value='$var4'>";
并在javascript中访问它
var y = document.getElementById('var4');
document.write(y); //[object HTMLInputElement]
它输出为[object HTMLInputElement]而不是1
另一件事是我想将此值传递给data.php
“.... data.php?q =”+ y)
这是写,我可以传递这样的价值吗? 你能建议我解决吗? 提前致谢。
答案 0 :(得分:2)
嗯,是的,document.getElementById('var4')
获取id为'var4'的HTML元素。它没有为您提供HTML元素的值,它为您提供了整个元素
y.value
会给你价值。
我不确定我是否正确理解了这种情况,但是如果你只想将变量从PHP传递给Javascript,则不需要创建隐藏的输入元素来执行此操作。相反,使用这样的东西:
<script type="text/javascript" charset="utf-8">
var myVars = <?php echo json_encode($myVars); ?>;
</script>
这样变量可以直接作为Javascript变量使用,不需要获取元素。
答案 1 :(得分:0)
document.getElementById
返回带有指定id
的html元素(因此HTMLInputElement
);阅读其value
以获取所需的值。
var y = document.getElementById('var4').value;
"...data.php?q="+y
没问题。您可以使用$_GET['y']
在PHP页面中读取传递的值。只需确保y
不是NaN
或undefined