我有这个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),我需要setcookie()内PHP使用firstname
变量。
<?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>
在文档周围放置SCRIPT标记。getelement线。它现在被认为是html。试着
<script>
document.write(document.getElementById("yourfield").value);
</script>
一行document.getElementById('firstname')。值是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>
我怀疑你想达到的目的是这样的:
<!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:)
您试图通过PHP访问DOM元素的值。这是不可能的,除非您向服务器发出POST或GET请求,其中数据被处理并作为响应发送回您的客户端。
与JavaScript不同,PHP无法看到页面本身发生了什么,除非你先将它发送给服务器。
你不能像这样访问JavaScript变量。如果你想设置一个cookie,从js中完成,有现成的工具。在谷歌中查找任何"setcookie JavaScript"。但我认为你还需要了解服务器端发生了什么,客户端发生了什么。要详细解释这一点,需要的远不止一个答案。
-
如果你想打印
input
的值,那么你不需要PHP。它可以通过JavaScript完成。 -
显然你的脚本不会工作,因为PHP是服务器端,不能打印DOM元素。你正在尝试打印javascript语法没有
<script>
标签