簡體   English   中英

帶帖子的表單中的HTML動態元素數

[英]HTML dynamic number of elements in a form with post

我的代碼基本上可以上傳電子表格數據,可以有5列或10列或其他內容。 每列都需要有一個指定數據類型的下拉框,並且所選數據類型應通過帶有表單的表單提交到另一個php站點。 我該怎么做,這是創建元素的代碼。是否有一種動態創建元素的方法,例如delimist。 attCount,我如何將此循環放入html表單中以提交數據? 有什么方法可以將所有這些值放入數組以說服? 謝謝。

編輯:好的,感謝動態的東西,但是我如何將其放入表單並將其通過帖子提交到另一個頁面。 還是有另一種發布信息的方式。 我不太了解php。

    while($attCount < count($attArray)) {
        echo "<select name=\"delimList\">";
        echo "<option value=1>tab</option>";
        echo "<option value=2>comma</option>";
        echo "<option value=3>semi-colon</option>";
        echo "<option value=4>ampersand</option>";
        echo "<option value=5>pipe</option>";
        echo "</select>";
        $attCount = $attCount + 1;
     }

您可以將所有這些值放到一個數組中……通過將所有這些值放到一個數組中!

$myArray = ['tab','comma','semi-colon','amperstand','pipe','another-value'];
echo '<select name="delimList">';
for ($i = 0; $i < count($myArray); $i++) {//Loop thru all
    echo '<option value="'.$i.'">'.$myArray[$i].'</option>';
}
echo "</select>";

使用foreach循環並在數組中分配第一個索引將為您提供期望的結果:

$options = [1=>'tab','comma','semi-colon','amperstand','pipe','another-value'];
echo "<select name=\"delimList[]\">\r\n";
foreach($options as $val => $option){
    echo "<option value=\"$val\">$option</option>\r\n";
}
echo "</select>\r\n";

輸出:

<select name="delimList[]">
<option value="1">tab</option>
<option value="2">comma</option>
<option value="3">semi-colon</option>
<option value="4">amperstand</option>
<option value="5">pipe</option>
<option value="6">another-value</option>
</select>

要匯總頁面,您需要將所有內容放入其中

<form method="post"> // you may want to add an action="..."
....                 // if you want to post to another page,
</form>              // instead of the same one

您還需要一個提交按鈕...

<input type="submit" name="submit" value="submit" />

提交后,您可以檢查以下值:

if(isset($_POST['delimList'])){
    foreach($_POST['delimList'] as $key => $value){
        echo "delimList[$key] = $value";
    }
}

暫無
暫無

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

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