我正在尝试创建一个网页,用户在首页上询问其姓名(文本框)和性别(单选按钮)。然后,这将链接到新页面,具体取决于他们选择的是男性还是女性,还需要显示在文本框中输入的姓名。

到目前为止,我的名称部分正在使用javascript进行工作,这在首页上,表单操作指向了新页面:

// Called on form's `onsubmit`
    function tosubmit() {
        // Getting the value of your text input
        var mytext = document.getElementById("mytext").value;

        // Storing the value above into localStorage
        localStorage.setItem("mytext", mytext);

        return true;
    }


这是在另一页上:

// Called on body's `onload` event
function init() {
    // Retrieving the text input's value which was stored into localStorage
    var mytext = localStorage.getItem("mytext");

    // Writing the value in the document
    document.getElementById("name").innerHTML = mytext;
}


这里的主要问题是,这总是指向同一页面。谁能告诉我如何解决这个问题,并添加一个选项供用户选择其性别,下一页将取决于此选择?

编辑:这是我的表格

<form class="enter-name" name="myform" onsubmit="tosubmit();" action="page1.html">

        <input  id="mytext" type="text" name="data" placeholder="Enter name" maxlength="12">

        Male:  <input type="radio" name="gender" value="male" /><br />
        Female: <input type="radio" name="gender" value="female" /><br />
        <input id="name-submit" type="submit" value="">

</form>

最佳答案

您可以使用php解决此问题-将表单发布到处理程序,该处理程序将根据发布的值进行重定向。在这种情况下,处理程序位于同一页面中:

<?php
if(isset($_POST['name'], $_POST['gender'])){

    $page = ($_POST['gender']=='male')? 'male-page.php' : 'female-page.php';
    header('Location:'.$page.'?name='.$_POST['name']);
    die();
}
?>

<html>
    <head><!-- head stuff here--></head>
    <body>
        <form class="enter-name" name="myform" action="" method="post">

            <input  id="mytext" type="text" name="name" placeholder="Enter name" maxlength="12">

            Male:  <input type="radio" name="gender" value="male" /><br />
            Female: <input type="radio" name="gender" value="female" /><br />
            <input id="name-submit" type="submit" value="">

        </form>
    </body>
</html>


在重定向到页面中,您可以通过php中的查询字符串参数访问名称:

<div id="name">
    <?php echo $_GET['name'];?>
</div>

10-05 21:04
查看更多