-1

我有一个简单的表格,想在提交时反映新页面中的值。我尝试使用 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>
4

4 回答 4

1

POST data is data that is handled server side. And Javascript is on client side. you should use GET method. and in the demo_form.html use this js code to recieve the parameters:

var params = getUrlParams();
var first_name = params.fname;
于 2013-05-05T20:13:33.967 回答
1

笔记


使用 php 扩展而不是 html 保存您的页面(您在表单操作中使用了 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>
于 2013-05-05T19:56:25.273 回答
1

post 变量与表单元素的“名称”属性相关。

<input type='text' name='firstname' />

这将在您的帖子数组中提交后通过

$_POST['firstname'];

要抓住它,最好先看看它是否被设置。

if(isset($_POST['firstname']) {
   $firstname = $_POST['firstname'];
}

你把它放在页面的最顶部,甚至在文档类型之前。

<?php

if(isset($_POST['firstname']) {
   $firstname = $_POST['firstname'];
}

?>

现在您可以通过“回显”您的变量来打印该值。

Hello <?php echo $firstname; ?> to this page;

您的页面必须具有 *.php 扩展名。

编辑:为帮助和学习目的添加信息

为了适应您自己应用程序中的字段,您将“firstname”的名称更改为输入字段的“name”属性,即“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>";

您将看到数组,您可以看到它的结构。

于 2013-05-05T19:59:25.343 回答
0

您可以使用 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>
于 2013-05-05T20:06:03.657 回答