使用隐藏的输入来保存表单内容 [英] Using hidden input to preserve form contents

查看:117
本文介绍了使用隐藏的输入来保存表单内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在为一个更大的项目制作小型注册表,这个项目将整合它,并且我正在设法弄清楚如何将一个隐藏的表单字段集成到其中,以便在整个提交中保留数据。基本上,每当有人在表格上注册时,他们的名字应该出现在条目旁边,并且当下一个人提交表格时(即,它不应再次可用),该条目不应该改变。这是我到目前为止所做的工作:

 名称:< input type =textname =name> ;<峰; br> 
从以下选项中选择:< br>
< fieldgroup>
<?php

$ form_contents =;

if(isset($ _ POST ['food'])&& $ _POST ['food'] =='pasta'){
$ form_contents。=< input type ='hidden'>意大利面 - 。 $ _POST ['name']。 <峰; br> 中;
} else {
$ form_contents。='< input type =radioname =foodvalue =pasta> Pasta< / input>< br>';
}

if(isset($ _ POST ['food'])&& $ _POST ['food'] =='salad'){
$ form_contents。 =沙拉 - 。 $ _POST ['name']。 <峰; br> 中;
} else {
$ form_contents。='< input type =radioname =foodvalue =salad> Salad< / input>< br>';
}

if(isset($ _ POST ['food'])&& $ _POST ['food'] =='汉堡'){
$ form_contents。 =汉堡 - 。 $ _POST ['name']。 <峰; br> 中;
} else {
$ form_contents。='< input type =radioname =foodvalue =burgers> Burgers< / input>< br>';
}

echo $ form_contents;
?>
< / fieldgroup>

目前,此表单存储初始条目,但下次我提交时,该名称将被删除并且选择再次可用。是否有任何方法保留该条目,以便每次提交表单时都能保留该条目?任何帮助感激!

解决方案

我认为你的想法与< input type =hidden/ > 效果很好。

也许你可以看看< input> 是如何工作的,正确的这里。您不必像< input>< / input> 那样执行操作,只需输入名称和值即可。



每次提交,您都可以检查是否已经提供了当前变量。如果是这样,你可以设置一个< input type =hidden/> ,如果不是,你可以让用户有可能在< input type =text/> >中输入一个名称。




回应你的评论,你可以试试这个。我认为它符合你的要求。

 名称:< input type = textname =name>< br> 
从以下选项中选择:< br>
< fieldgroup>
<?php
#设置空格式
$ _Form = NULL; ($ _ POST ['food'])){

#检查提交
如果($ _ POST ['食物'] =='面食'){

$ _Form。='< input type =hiddenname =foodSelectedPastavalue =Pasta - '。$ _POST ['name'] ''>意大利面 - '。 $ _POST ['name']。 < /输入><峰; br>;
$ b}其他{

#如果(isset($ _ POST ['foodSelectedPasta'])){
$ _Form。=' < input type =hiddenname =foodSelectedPastavalue ='。$ _POST ['foodSelectedPasta']。'>'。 $ _POST ['foodSelectedPasta']。 < /输入><峰; br>;
$ b} else {
$ _Form。='< input type =radioname =foodvalue =pasta> Pasta< / input>< br>' ;



检查沙拉
if($ _ POST ['food'] =='salad'){

$ _Form。='< input type =hiddenname =foodSelectedSaladvalue =Salad - '。$ _POST ['name']。'>沙拉 - '。 $ _POST ['name']。 < /输入><峰; br>;
$ b $ else其他{

#检查已经选择
if(isset($ _ POST ['foodSelectedSalad'])){
$ _Form。=' < input type =hiddenname =foodSelectedSaladvalue ='。$ _POST ['foodSelectedSalad']。'>'。 $ _POST ['foodSelectedSalad']。 < /输入><峰; br>;
$ b $ else {
$ _Form。='< input type =radioname =foodvalue =salad> Salad< / input>< br>' ;



检查汉堡包
if($ _ POST ['food'] =='汉堡包'){

$ & Burgers - '._FORM。='< input type =hiddenname =foodSelectedBurgersvalue =Burgers - '。$ _POST ['name']。' $ _POST ['name']。 < /输入><峰; br>;
} else {

#如果(isset($ _ POST ['foodSelectedBurgers'])){
$ _Form。='<输入类型已经选择
=hiddenname =foodSelectedBurgersvalue ='。$ _POST ['foodSelectedBurgers']。'>'。 $ _POST ['foodSelectedBurgers']。 < /输入><峰; br>;
} else {
$ _Form。='< input type =radioname =foodvalue =burgers> Burgers< / input>< br>';



} else {
$ _Form。='< input type =radioname =foodvalue =pasta>面食< /输入><峰; br>';
$ _Form。='< input type =radioname =foodvalue =salad>沙拉< / input>< br>';
$ _Form。='< input type =radioname =foodvalue =burgers> Burgers< / input>< br>';
}

#输出格式
echo $ _Form;
?>
< / fieldgroup>


I am currently working on a small signup sheet for a bigger project which will integrate it, and I'm trying to figure out how to integrate a hidden form field(s) into it, to preserve data across submissions. Basically, whenever someone signs up on the form, their name should appear next to the entry, and that entry should not change when the next person submits the form (i.e., it shouldn't become available again). This is what I am working with so far:

    Name: <input type="text" name="name"><br>
    Select from one of the following:<br>
    <fieldgroup>
        <?php

            $form_contents = "";

            if (isset($_POST['food']) && $_POST['food'] == 'pasta') {
                $form_contents .= "<input type='hidden'>Pasta - " . $_POST['name'] . "<br>";
            } else {
                $form_contents .= '<input type="radio" name="food" value="pasta">Pasta</input><br>';
            }

            if (isset($_POST['food']) && $_POST['food'] == 'salad') {
                $form_contents .= "Salad - " . $_POST['name'] . "<br>";
            } else {
                $form_contents .= '<input type="radio" name="food" value="salad">Salad</input><br>';
            }

            if (isset($_POST['food']) && $_POST['food'] == 'burgers') {
                $form_contents .= "Burgers - " . $_POST['name'] . "<br>";
            } else {
                $form_contents .= '<input type="radio" name="food" value="burgers">Burgers</input><br>';
            }

            echo $form_contents;
        ?>
    </fieldgroup>

Currently, this form stores an initial entry, but the next time I submit it, that name is erased and the selection becomes available again. Is there any way to keep that entry so that it is preserved every time the form is submitted? Any help is appreciated!

解决方案

I think your idea with <input type="hidden" /> works well.

Maybe you can take a look how <input> works, right here. You don't have to do it like <input></input>, just give the input a name and a value.

Every submit, you can check if a current variable is already given. When it is, you can set a <input type="hidden" /> with that variable, when it isn't, you can give the user the possibility to enter a name in <input type="text" />.


In response to your comment, you maybe can try this. I think that it does what you're looking for. Probably, it isn't the most attractive solution, but I think it'll work.

Name: <input type="text" name="name"><br>
Select from one of the following:<br>
<fieldgroup>
    <?php
        # Set empty form
        $_Form  = NULL;

        # Check submit
        if(isset($_POST['food'])) {

            # Check pasta
            if($_POST['food'] == 'pasta') {

                $_Form  .= '<input type="hidden" name="foodSelectedPasta" value="Pasta - ' . $_POST['name'] . '">Pasta - ' . $_POST['name'] . '</input><br>';

            } else {

                # Check already chosen
                if(isset($_POST['foodSelectedPasta'])) {
                    $_Form  .= '<input type="hidden" name="foodSelectedPasta" value="' . $_POST['foodSelectedPasta'] . '">' . $_POST['foodSelectedPasta'] . '</input><br>';

                } else {
                    $_Form  .= '<input type="radio" name="food" value="pasta">Pasta</input><br>';
                }
            }

            # Check salad
            if($_POST['food'] == 'salad') {

                $_Form  .= '<input type="hidden" name="foodSelectedSalad" value="Salad - ' . $_POST['name'] . '">Salad - ' . $_POST['name'] . '</input><br>';

            } else {

                # Check already chosen
                if(isset($_POST['foodSelectedSalad'])) {
                    $_Form  .= '<input type="hidden" name="foodSelectedSalad" value="' . $_POST['foodSelectedSalad'] . '">' . $_POST['foodSelectedSalad'] . '</input><br>';

                } else {
                    $_Form  .= '<input type="radio" name="food" value="salad">Salad</input><br>';
                }
            }

            # Check burgers
            if($_POST['food'] == 'burgers') {

                $_Form  .= '<input type="hidden" name="foodSelectedBurgers" value="Burgers - ' . $_POST['name'] . '">Burgers - ' . $_POST['name'] . '</input><br>';
            } else {

                # Check already chosen
                if(isset($_POST['foodSelectedBurgers'])) {
                    $_Form  .= '<input type="hidden" name="foodSelectedBurgers" value="' . $_POST['foodSelectedBurgers'] . '">' . $_POST['foodSelectedBurgers'] . '</input><br>';
                } else {
                    $_Form  .= '<input type="radio" name="food" value="burgers">Burgers</input><br>';
                }
            }

        } else {
            $_Form  .= '<input type="radio" name="food" value="pasta">Pasta</input><br>';
            $_Form  .= '<input type="radio" name="food" value="salad">Salad</input><br>';
            $_Form  .= '<input type="radio" name="food" value="burgers">Burgers</input><br>';
        }

        # Output form
        echo $_Form;
    ?>
</fieldgroup>

这篇关于使用隐藏的输入来保存表单内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆