";其他“;从下拉菜单,html


"other" from drop down menu, html

我在html中有一个表单,它接受输入并进行一些计算。我想做的是有一个下拉菜单,其中有一些选项,但如果没有用户的选项,他们可以输入自己的选项。

对于这个例子,我们假设它取所有条目的总和:

<form action="action.php">
    <input type="text" name="int1" value="1">
    <select name="dropdown">
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="NULL">Other</option>
    </select>
    <input type="text" name="other" value="other">
    <input type="submit" value="go">
</form>

我的想法是,它将使用下拉菜单,或者如果下拉菜单设置为其他,则使用"其他"输入。有没有一种方法可以在html中处理这个问题,或者用php中的if语句来处理这个问题?只是我的一些想法。

感谢帮助,感谢

只需做一些类似的事情

if (isset($_GET['dropdown']) 
    && $_GET['dropdown'] == 'NULL'
    && isset($_GET['other'])
) {
    $value = $_GET['other'];
}
elseif (isset($_GET['dropdown'])) {
    $value = $_GET['dropdown'];
}
else {
    // Something went wrong. Handle error
}

如果您正在寻找客户端解决方案,您也可以使用JavaScript提交表单,这样只有一个值会传递给PHP。

您可以使用jquery 执行类似的操作

<script src="http://code.jquery.com/jquery-latest.js"></script>
<html><body>
<form action="" method="POST">
    <input type="text" name="int1" value="1">
    <select name="dropdown" id="dropdown">
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="NULL">Other</option>
    </select>
    <input type="text" name="other" value="other" id="other">
    <input type="submit" value="go">
</form>
</body></html>
<script>
$(document).ready(function(){
    $("#other").hide();
        $('#dropdown').change(function(){
            if($(this).val()=='NULL'){
                $("#other").show();
            }
            else{
                $("#other").hide();
            }
        }); 
})
</script>

并使用php捕获正确的值

我会在那里嵌入一个PHP语句,说明如果下拉列表值等于其他值,那么在下拉框下添加输入文本字段以供用户输入。