从下拉列表中选择一个名称,如果没有退出,可以在文本框中写入

时间:2015-11-22 22:07:12

标签: javascript php html

我有一个下拉列表和一个文本框。下拉列表中有动物名称。问题是在哪里,可能没有在下拉列表中选择的名称,所以当请求的名称没有退出时,用户应该在选中复选框后在文本框中键入他/她最喜欢的动物(当选中复选框时,下拉列表应该被禁用,未选中时应禁用复选框)。在最后一步中,将下拉列表文本框的值发送到数据库。

<form name="f" action="" method="post">
echo"choose an animal".'<br/>';
echo '<select name="animals">';
echo'<option> bear </option>';
echo'<option> cat </option>';
echo'<option> lion </option>';
echo'<option> monkey </option>';
echo'</select>';

echo"or write if is not in list".'<br/>';
echo'<input type="checkbox" name="checkbox">';
echo'<input type="textbox" name="animals">';
echo'<input type="submit" name="submit" value="submit">';
</form>
if(isset($_POST['submit']))
{
    $db_host = 'localhost';
    $db_name= 'site';
    $db_table= 'animals';
    $db_user = 'root';
    $db_pass = '';


    $con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده");
    $selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده");

    $ins = "INSERT INTO $db_table (animal_name) 
            VALUES ('" . mysql_escape_string($_POST['animals']) . "')";
    $saved=mysql_query($ins );

    mysql_close($con); 
}

2 个答案:

答案 0 :(得分:5)

<?php
    echo"choose an animal".'<br/>';
    echo '<select name="animals" id="animalDropdown">';
    echo'<option> bear </option>';
    echo'<option> cat </option>';
    echo'<option> lion </option>';
    echo'<option> monkey </option>';
    echo'</select>';

    echo"or write if is not in list".'<br/>';
    echo'<input type="checkbox" name="checkbox" id="checkbox" onclick="onClickCheckbox()">';
    echo'<input type="textbox" name="animalstext" id="animals">';
    ?>

    <script>
    onClickCheckbox();

    function onClickCheckbox( )
    {
        if( document.getElementById("checkbox").checked == true )
        {
            document.getElementById("animalDropdown").disabled = true;
            document.getElementById("animals").disabled = false;
        }
        else
        {
            document.getElementById("animalDropdown").disabled = false;
            document.getElementById("animals").disabled = true;
        }
    }
    </script>

这是主动/非主动作业。使用其余的PHP代码将数据插入数据库。顺便说一下,我猜你也需要一个提交按钮。

答案 1 :(得分:0)

使用checked属性启用或禁用给定字段。

<script>
function onClickCheckbox( )
{
    if( document.getElementById("checkbox").checked == true )
        document.getElementById("animalDropdown").disabled = true;
    else
        document.getElementById("animalDropdown").disabled = false;
}
</script>

<select name="animalDropdown"> ... </select>
<input type="checkbox" id="checkbox" onclick="onClickCheckbox()" value="1" checked="" />

不要为两个不同的输入使用相同的ID或名称。使用PHP脚本来区分这两者。