【问题标题】:Don't reset form values after submit提交后不要重置表单值
【发布时间】:2011-08-24 00:53:26
【问题描述】:

通过php头代码预览后,我不想重置输入框?谢谢。 这是我的简化代码:

#php Code 
if($_POST['pre']){

    $tag = $_POST['tag'];
    $link = $_POST['link'];
    $img = $_POST['img'];
    $exp = $_POST['exp'];
    $alt = $_POST['alt'];
    if ( $tag == '' or $img == '' or $alt==''){

    }
    else{
    $_SESSION['pre'] = "<a href=" ;
    $_SESSION['pre'] .= "\"$link\"><img src=";
    $_SESSION['pre'] .= "\"$img\" alt=\"$alt\" ></a>";
    header("location: add_adv.php?show=on");
    }
}

html代码

<table>
<tr><td id="title"><p>add</p></td></tr>
<tr><td></td></tr>
    <tr>
      <td><form name="form2" method="post" action="">
        <table>
          <tr>
            <td><input type="text" name="tag" id="tag" /> </td>
            <td>tag</td>
          </tr>
          <tr>
            <td><input type="text" size="30" name="img" id="img" /></td>
            <td>picture</td>
          </tr>
          <tr>
            <td><input type="text" size="30" name="link" id="link" /></td>
            <td>link</td>
          </tr>
          <tr>
            <td><input type="text" size="30" name="alt" id="alt" /></td>
            <td>alternative</td>
          </tr>
          <tr>
            <td><input type="text" size="30" name="exp" id="exp" /></td>
            <td>Expire</td>
          </tr>
          <tr>
            <td><input name="pre" type="submit" class="sub" id="pre" value="Preview">
              <input type="submit" name="add_adv" class="sub" id="add_adv" value="اضافه" /></td>
            <td></td>
          </tr>
    </table>
      </form>
</td>
    </tr>
  </table>

【问题讨论】:

    标签: php mysql header inputbox


    【解决方案1】:

    您必须为所有输入框赋予一个与之前提交的值相等的值属性。

    <td><input type="text" size="30" name="exp" id="exp" value="<?=$exp?>" /></td>
    <td>Expire</td>
    

    【讨论】:

    • tnx 老兄,它给了我一个想法;)
    • 然后找到另一种方法使输入具有正确的值。服务器必须以一种或另一种方式返回提交的值。
    【解决方案2】:
    // make public
    $tag = $link = $img = $exp = $alt = null;
    
    if($_POST['pre']){
    
        $tag = $_POST['tag'];
        $link = $_POST['link'];
        $img = $_POST['img'];
        $exp = $_POST['exp'];
        $alt = $_POST['alt'];
        if ( $tag == '' or $img == '' or $alt==''){
    
        }
        else{
        $_SESSION['pre'] = "<a href=" ;
        $_SESSION['pre'] .= "\"$link\"><img src=";
        $_SESSION['pre'] .= "\"$img\" alt=\"$alt\" ></a>";
        header("location: add_adv.php?show=on");
        }
    }
    

    【讨论】:

    • 我在这个 php 块之外使用这个 var
    【解决方案3】:

    很简单的方法

    在页面底部添加以下脚本

    <script src="https://cdn.jsdelivr.net/gh/akjpro/form-anticlear/base.js"></script>
    

    然后将“form-anticlear”类添加到您的表单中

    <form class="form-anticlear">
       <input type="text" name="myText">
    </form>
    

    访问高级选项:https://github.com/akjpro/form-anticlear

    【讨论】:

      猜你喜欢
      • 2010-10-21
      • 2013-03-03
      • 2018-10-05
      • 1970-01-01
      • 2021-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多