繁体   English   中英

如何检索HTML表单值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM