html 5 datalist value

时间:2017-02-18 22:14:12

标签: html forms

当我提交表单时,如何获取“id”而不是“name”。

<input type="text" list='name' name='test1'/>
                <datalist id="test1">
                    <?php
                        if(!empty($data)){
                            foreach($data as $flag){
                                echo "<option label ='".$flag['id']."' >".$flag['name']."</option>";
                            }
                        }else{
                            echo "<option> empty </option>";
                        }
                    ?>
                </datalist>

我尝试过使用value = $ flag ['id'],但在提交时我仍然会得到“name”。

1 个答案:

答案 0 :(得分:0)

id不会通过定期提交表单发送到服务器。只有name - 和value属性。

如果您真的想获得id,那么您可以拥有一个隐藏的<input>元素,其中包含值数组,其中包含您想要的所有相关id

以下是一个例子:

HTML

<form method="post">
    <input type="text" name="firstname" id="inp1" />
    <input type="text" name="surname" id="inp2" />
    <input type="hidden" name="ids[]" value="inp1" />
    <input type="hidden" name="ids[]" value="inp2" />
    <input type="submit" />
</form>

PHP

foreach($_POST['ids'] as $id)
{
    echo '<option label="' . $id . '">' . array_search($id, $_POST) . '</option>';
}