我有这个HTML文档(test1.html):
<!DOCTYPE html>
<html>
<body>
First name: <input type="text" id="firstname" name="firstname" value="VALUE123"><br>
<?php
echo "Hello<br>";
echo "document.getElementById('firstname').value" ;
?>
</body>
</html>
输出为:
First name: VALUE123
Hello
document.getElementById('firstname').value <=====================
如何纠正代码,以便输出的最后一行显示VALUE123
而不是变量名本身?
我必须使用PHP(没有Javascript),我需要使用firstname
变量在PHP中设置setcookie()。
答案 0 :(得分:0)
在document.getelement行周围放置一个SCRIPT标记。它现在被认为是html。试试
<script>
document.write(document.getElementById("yourfield").value);
</script>
答案 1 :(得分:0)
您正尝试通过PHP访问DOM元素的值。除非您向服务器发出POST或GET请求,否则这是不可能的,在服务器中处理数据并将其作为响应发送回客户端。
与JavaScript不同,PHP无法查看页面上发生的情况,除非您先将其发送到服务器。
答案 2 :(得分:0)
行document.getElementById(&#39; firstname&#39;)。值是javascript,你不能这样使用它。
如果你需要像你一样在html中打印,你可以使用一些jquery,也许是这样:
<!DOCTYPE html>
<html>
<body>
First name: <input type="text" id="firstname" name="firstname" value="VALUE123"><br>
<?php
echo "Hello<br>";
?>
<span id="showName"></span>
</body>
<script>
$('#showName').text($('#firstname').attr('value'));
</script>
</html>
答案 3 :(得分:0)
我怀疑你想要达到的目标是这样的:
<!DOCTYPE html>
<html>
<body>
<form method="POST">
First name: <input type="text" name="firstname" value="VALUE123"><br>
<input type="submit" value="send"/>
</form>
<?php
echo "Hello<br>";
echo $_POST['firstname']";
?>
</body>
</html>
将服务器端(php)视为有点像构建列车集
和客户端(javascript / html / css)就像玩它一样:)
如果您想添加更多曲目或更改布局,则可以。但你必须先停止玩它然后回到施工阶段。或者在php的情况下,根据您提供的数据构建一个全新的轨道。
可以在操作时修改实时布局。你必须阅读ajax:)
答案 4 :(得分:0)
您无法像这样访问JavaScript变量。如果你想设置一个cookie,那就从js开始,有一些随时可用的工具。在Google中寻找任何“setcookie JavaScript”。但我认为您还需要了解服务器端发生的情况以及客户端的情况。而且要详细解释这个问题需要的不仅仅是一个答案。
答案 5 :(得分:0)
如果您尝试打印input
的值,那么您就不需要PHP。它可以通过JavaScript完成。
显然你的脚本不起作用,因为PHP是服务器端而且不能打印DOM元素。并且您正在尝试打印没有<script>
标记
答案 6 :(得分:0)
<?php
/*
The PHP setcookie() function sends an HTTP cookie to a client.
Syntax: setcookie(name,value,expire,path,domain,secure)
Only name and value are requiered
*/
if ( isset ($_POST['firstname']) )
{ // Client did send (an other) firstname.
$fnValue = $_POST['firstname'];
$expire = time()+60*60*24*3; // 60s 60m 24h 3d
setcookie('firstname',$fnValue,$expire);
}
else
{
if (isset($_COOKIE['firstname']))
$fnValue = $_COOKIE['firstname'];
else
$fnValue = "";
}
?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form method="POST">
First name: <input type="text" id="firstname" name="firstname"><br>
<input type="submit" value="send">
</form>
<?php
if ( strlen($fnValue) > 0 )
{
echo "Hello<br>";
echo $fnValue;
}
?>
</body>
</html>