Javascript 从下拉列表中选择一个名称,如果不退出,则可以在文本框中写入
我有一个下拉列表和一个文本框。下拉列表中有动物的名称。问题在于,下拉列表中可能没有可供选择的名称,因此当请求的名称不存在时,用户应在选中复选框后在文本框中键入他/她最喜爱的动物(选中复选框时,应禁用下拉列表,未选中复选框时,应禁用下拉列表)。在最后一步,将下拉列表或文本框的值发送到数据库Javascript 从下拉列表中选择一个名称,如果不退出,则可以在文本框中写入,javascript,php,html,Javascript,Php,Html,我有一个下拉列表和一个文本框。下拉列表中有动物的名称。问题在于,下拉列表中可能没有可供选择的名称,因此当请求的名称不存在时,用户应在选中复选框后在文本框中键入他/她最喜爱的动物(选中复选框时,应禁用下拉列表,未选中复选框时,应禁用下拉列表)。在最后一步,将下拉列表或文本框的值发送到数据库 <form name="f" action="" method="post"> echo"choose an animal".'<br/>'; echo '<select name
<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);
}
回声“选择一种动物”
;
回声';
回声“熊”;
回声“猫”;
回声“狮子”;
回声“猴子”;
回声';
echo“如果不在列表中,则写入”。“
”;
回声';
回声';
回声';
如果(isset($_POST['submit']))
{
$db_host='localhost';
$db_name='site';
$db_表=‘动物’;
$db_user='root';
$db_pass='';
$con=mysql\u connect($db\u host、$db\u user、$db\u pass)或死;
$selected=mysql\u select\u db($db\u name,$con)或die(死亡);
$ins=“插入到$db_表中(动物名称)
值(“.”.mysql_escape_字符串($_POST['animals'])。“)”;
$saved=mysql\u查询($ins);
mysql_close($con);
}
使用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="" />
函数onClickCheckbox()
{
if(document.getElementById(“checkbox”).checked==true)
document.getElementById(“animalDropdown”).disabled=true;
其他的
document.getElementById(“animalDropdown”).disabled=false;
}
...
不要对两个不同的输入使用相同的ID或名称。使用PHP脚本区分两者。
<?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>
onClickCheckbox();
函数onClickCheckbox()
{
if(document.getElementById(“checkbox”).checked==true)
{
document.getElementById(“animalDropdown”).disabled=true;
document.getElementById(“动物”).disabled=false;
}
其他的
{
document.getElementById(“animalDropdown”).disabled=false;
document.getElementById(“动物”).disabled=true;
}
}
这将执行主动/非主动作业。使用PHP代码的其余部分在数据库中插入数据。顺便说一句,我想您也需要一个提交按钮。那么文本框在哪里以及如何发送到数据库?文本框始终处于启用状态。如果用户想从下拉列表中选择动物,我需要=>启用下拉列表和禁用文本框。当用户没有找到他/她需要的东西时,单击复选框=>禁用下拉列表并启用textboxnotice,我更改了他们的姓名。每个表单字段的名称必须不同。例如,我已将textbox的名称更改为animalstext。是你干的吗?是的,我看到了。这是我的财产。谢谢达达西;)