我在用php做表格,但是有一些问题。
首先,我将在同一页面中使用3种不同的形式。
我想要的只是出现一种形式,然后用答案出现另一种形式,依此类推。
表格的答案将显示在同一页面上。
现在,我的第一份表格工作并获得答案后转到第二份表格,但是我想提交第二份表格,问题出现了。
它删除了我的第一个表格的答案,并且不做任何事情(一切都开始于我的第一个表格)。
我试图找到问题,但对如何解决却一无所知。

这是我的代码:

<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
    Q1?
    <input type="number" name="nbtemplate" min="1" max="30">
    <input type="submit" name="submitbutton1" value="Confirm!">
</form>

<?php
if(!isset($submitbutton1)) {
    if (!empty($_POST['nbtemplate']) != "") {
        echo "<b>{$_POST['nbtemplate']}</b> !\n";
        echo "<br />";
        $Nnbtemplate = $_POST['nbtemplate'];
        $result = mysql_query("UPDATE tb SET day='$Nnbtemplate'") or die(mysql_error());
?>

<form action='<?php echo $_SERVER['PHP_SELF'];?>' method='post'>
Q2? <br>
<?php
    for ($i = 1; $i <= $Nnbtemplate; $i++) { // start loop
        echo "Template ";
        echo $i;
?>

<input type="number" name="nbtime" min="1" max="96">

<?php
}
    echo '<input type="submit" name="submitbutton2" value="Confirm!">';
    echo '</form>';

    if(isset($submitbutton1) && !isset($submitbutton2)) {
    if (!empty($_POST['nbtime']) != "") {
    echo "<b>{$_POST['nbtime']}</b> !\n";
    echo "<br />";
    $nbtime = $_POST['nbtime'];

    for ($j = 1; $j <= $nbtime; $j++) {
    echo "Time";
    echo $j;
?>
    Q3:
    <input type="time" name="starttime"> To <input type="time" name="endtime">

<?php
    }
    echo '<input type="submit">';
    echo '</form>';
        }

    }
    }
}
?>

最佳答案

兄弟,那是您到达那里的一些粗糙代码。当使用一些javascript处理时,这是一个非常简单的任务。然后,您可以将单个帖子发布到您的php。我喜欢使用jQuery框架,因此很快找到了几个链接:this onethis one

响应于有关动态构建表单元素的注释的示例代码:

<html>
<head>
    <!-- load jquery library -->
    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
</head>
<body>

<form action="toyourpage.php">

    How Many?:
    <input type="text" name="number" id="number">
    <div id="add"></div>

</form>

<!-- javascript go -->
<script type="text/javascript">

$(document).ready(function()
{
    $('input#number').keyup(function()
    {
        var num = $(this).val(); // get num

        if(!isNaN(num)) // check if number
        {
            $('div#add').html(''); // empty
            for(i = 1; i <= num; i++) // add
            {
                $('div#add').append('New Field ' + i + ': <input type="text" name="next_' + i + '" id="next' + i + '"><br>');
                }
        }
        else
        {
            alert('Valid number required');
        }

    });
});

</script>

</body>
</html>

10-05 20:15