簡體   English   中英

HTML表單元素在提交后消失

[英]HTML Form elements disappearing after submitting

基本上我在這里有兩個表單,第一個是簡單的下拉選擇,你可以選擇你想要多少'部分',每個'部分'需要一個鍵和一個值,所以當提交表單時,它運行一個循環並為所選金額生成另一種形式的輸入框。 一切正常。 提交第二個表單后,輸入框將消失。 它確實發布數據和字符串。

      <?php 
    $userkey = $_POST['key1'];
    $userval = $_POST['val1'];
    $usernum = $_POST['usernum'];
    ?>
<form action='MYPIE.PHP' method='POST'>
                HOW MANY SECTIONS?
                    <select name="usernum">
                          <option>1</option>
                          <option>2</option>
                          <option>3</option>
                          <option>4</option>
                          <option>5</option>
                          <option>6</option>
                          <option>7</option>
                          <option>8</option>
                          <option>9</option>
                    </select>
                <input type="submit" name="submitnum" value="submit" />
        </form>


    <form action='MYPIE.PHP' method='POST'>     
        <?php 
            for ($i=1; $i<$usernum+1; $i++){
                echo "<br>insert key:   <input name='key".$i."' value='hi".$i."'>   insert value:   <input name='val".$i."' value='val".$i."'>";
            }
        ?>
        </br>
        <button type="submit" value="submit" name="submit keys" />
    </form>

這是因為第二次提交表單時不會存儲帖子數據。 您可以使用包含數據的隱藏輸入來解決此問題。

  <form action='MYPIE.PHP' method='POST'>     
    <?php 
        echo '<input type="hidden" value="' . $usernum . '" name="usernum" />'; 
        for ($i=1; $i<$usernum+1; $i++){
            echo "<br>insert key:   <input name='key".$i."' value='hi".$i."'>   insert value:   <input name='val".$i."' value='val".$i."'>";
        }
    ?>
    </br>
    <button type="submit" value="submit" name="submit keys" />
</form>

行: <input type="hidden" value="' . $usernum . '" name="usernum" />將在您第二次提交表單時重新發送usernum數據。

提交第二個表單后, $usernum不會停留。 它只是第一種形式。 要解決此問題,請在第二種形式中創建隱藏的表單元素。

<input type="hidden" name="usernum" value="<?php echo $usernum; ?>" />

這將導致不僅在提交第一個表單時提交該值,而且第二個表單也提交,並且您的循環將顯示正確的輸入數量。

那是因為你丟失了發布的usernum ,試試;

<?php 
     for ($i=1; $i<$usernum+1; $i++){
           echo "<br>insert key:   <input name='key".$i."' value='hi".$i."'>   insert value:   <input name='val".$i."' value='val".$i."'>";
        }
 ?>
<input type="hidden" name="usernum" value="<?php echo $usernum; ?>">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM