[英]How to retrieve HTML form values?
我的表单很简单,提交后想在新页面中反映这些值。 我尝试使用javascript来做到这一点。 但是,由于未打印出来,因此未成功。 有人能帮助我吗? 另外,我愿意接受更简单的想法,因为javascript可能不是唯一的方法。 PHP对我来说似乎很难。
这是我的表格。
<head>
</head>
<body>
<form action="demo_form.html" method="POST">
First Name<input type="text" name="fname"><br>
<input type="submit" value="submit">
</form>
</body>
</html>
这是提交后的html页面,也是“ demo_form.html”
<head>
<script type="text/javascript">
var nameValue = document.getElementById("fname").value;
document.getElementById("printHere").value=nameValue;
</script>
</head>
<body>
Welcome <div id="printHere"></div>
</body>
</html>
使用php扩展名而不是html保存页面(您在form action中使用了demo_form.html)
删除JS,然后仅在顶部添加
if(isset($_POST)){
print_r($_POST); //Retreive your data as required
}
最终密码
<body>
<?php
if(isset($_POST)){
print_r($_POST); //Retreive your data as required
}
?>
<form action="demo_form.php" method="POST">
First Name<input type="text" name="fname"><br>
<input type="submit" value="submit">
</form>
</body>
发布变量与表单元素的“名称”属性相关。
<input type='text' name='firstname' />
在您通过以下方式在您的帖子数组中提交后才可用
$ _POST['firstname'];
要捕获它,最佳做法是查看是否首先设置它。
if(isset($_POST['firstname']) {
$firstname = $_POST['firstname'];
}
您可以将其放在页面的顶部,甚至在doctype之前。
<?php
if(isset($_POST['firstname']) {
$firstname = $_POST['firstname'];
}
?>
现在,您可以通过“回显”变量来打印值。
Hello <?php echo $firstname; ?> to this page;
您的页面必须具有* .php扩展名。
编辑:添加了帮助和学习目的的信息
为了适合您自己的应用程序中的字段,可以将“名字”的名称更改为输入字段的“名称”属性,即“ fname”。
添加更多字段。
if(isset($_POST['fname'])){$fname = $_POST['fname']; }
if(isset($_POST['lname'])){$lname = $_POST['lname']; }
if(isset($_POST['email'])){$email = $_POST['email']; }
您会发现$ _POST数组的样子会很有趣。 在最顶部和最开始的php标签中,添加以下内容:
echo "<pre>";
echo print_r($_POST); // can also do var_dump($_POST);, just try it
echo "</pre>";
您将看到该数组,并可以看到其结构。
POST数据是在服务器端处理的数据。 Javascript位于客户端。 您应该使用GET方法。 并在demo_form.html中使用此js代码接收参数:
var params = getUrlParams();
var first_name = params.fname;
您可以使用javascript进行尝试:
第一种html形式:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<div id="profile">
<form action="demo_form.html" method="GET">
First Name<input type="text" name="fname" /><br />
<input type="submit" value="submit" />
</form>
</div>
</body>
</html>
demo_form.html
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
function Loaddata() {
// Get data from query string & create an array
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) {
vars[key] = value;
});
document.getElementById("printHere").innerHTML = vars["fname"];
}
</script>
</head>
<body onload="Loaddata();">
Welcome
<div id="printHere"></div>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.