0
<?php $date = date('m-d-Y'); ?>

<form class="signin" method="POST" action="2ndpage.php">
<h1>Validate</h1>
<input name="date" type="text" autocomplete="on" id="calendar" value="<?php echo $date ?>" />

<div id="rtime"></div>
<button type="submit">Next page</button>

第 2 页:

$d = $_POST['date'];
$t = $_POST['mytime'];

$d 输出我想要的日期,但 $t 它返回它是未定义的索引。

“rtime”是一个运行时间(Javascript),但这不是问题。问题是如何获取 div ("rtime") 的值会显示到我可以使用的下一页。更有可能说我想报告用户的交易并输入日期和时间。

使困惑。请帮忙。

4

5 回答 5

1

添加隐藏的输入字段。

<form class="signin" method="POST" action="2ndpage.php" onsubmit="update_time()">
<h1>Validate</h1>
<input name="date" type="text" autocomplete="on" id="calendar" value="<?php echo $date ?>" />
<input name="mytime" type="hidden" id="mytime">

然后在 Javascript 中,处理程序可以从DIVonsubmit复制到该字段。rtime

function update_time() {
    document.getElementById('mytime').value = document.getElementById('rtime').innerHTML;
}
于 2013-06-06T23:46:38.097 回答
1

看起来好像您缺少一个input element被调用的mytime.

<?php
  $date = date('m-d-Y');
  $time = date('H:i');
?>
<input name="date" type="text" autocomplete="on" id="calendar" value="<?php echo $date ?>" />
<input name="mytime" type="text" autocomplete="on" id="calendar" value="<?php echo $time ?>" />
于 2013-06-06T23:47:41.097 回答
0

如果您想要的值是由 JavaScript 生成的,您可以:

让 JavaScript 插入该值,直到表单中出现隐藏输入

或者使用 Ajax。jQuery 不错。

于 2013-06-06T23:45:43.240 回答
0

2ndpage.php 中的 $t 未定义,因为(在您的第一页上)没有<input>带有 name 的字段mytime

检索 $d 值是因为:

$d = $_POST['date'];

与此匹配(注意name=参数):

<input name="date" value="<?php echo $date ?>" />

要显示 $t,您需要这个(再次注意name=参数):

<input name="mytime" value="time_goes_here">

当一个表单被 POSTED 到另一个 PHP 文件时,每个都name成为一个变量的名称,而value存储在元素中的则成为另一端变量的值。

您可以通过 $_POST 检索这些“变量”:

  • 您必须在第二个 PHP 文件中创建一个 NEW 变量(通常使用与第一页完全相同的名称 - 即name来自元素的参数)

  • 变量的值是通过 $_POST 命令检索的,参考name第 1 页:

    $thetime = $_POST['mytime'];


要通过该 DIV 传递一个值,您可以在提交表单之前使用 jQuery 在 DIV中插入一个<input>带有 a 的元素。name

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

        <script type="text/javascript">
            $(document).ready(function() {

                $('button').click(function() {
                    //Next line adds a hidden field `mytime` with text value
                    //$('#rtime').html('<input name="mytime" value="Two oclock">');

                    //Below adds hidden field `mytime` with current time string
                    var d = new Date();
                    var h = d.getHours();
                    var m = d.getMinutes();
                    var s = d.getSeconds();
                    var strTime = h+':'+m+':'+s;
                    //alert(strTime);
                    $('#rtime').html('<input name="mytime" value="'+strTime+'">');
                    //return false;

                });

            }); //END $(document).ready()

        </script>
    </head>
<body>

    <?php $date = date('m-d-Y'); ?>

    <form class="signin" method="POST" action="test108b.php">
    <h1>Validate</h1>
    <input name="date" type="text" id="calendar" value="<?php echo $date ?>" />

    <div id="rtime" name="mytime"></div>
    <button type="submit">Next page</button>

</body>
</html>
于 2013-06-06T23:46:48.177 回答
0

您可以添加带有名称的隐藏输入mytime

<input id="mytime" name="mytime" type="hidden" />

现在您的 JavaScript 计时器必须在该输入中设置值

$("#mytime").val(actual_time);
于 2013-06-06T23:49:17.997 回答