Php 当下拉框中的值来自mysql时,使用Javascript禁用文本字段
我有一个简单的HTML脚本,使用下拉菜单。选择值1时,用户可以写入文本字段,如果选择值2,则禁用文本字段 但是,我更改了下拉菜单的值,因此一个值来自使用PHP的mysql表,另一个值保留为“option value='1”。但是现在两个文本字段都没有被禁用。下面是代码Php 当下拉框中的值来自mysql时,使用Javascript禁用文本字段,php,javascript,function,variables,drop-down-menu,Php,Javascript,Function,Variables,Drop Down Menu,我有一个简单的HTML脚本,使用下拉菜单。选择值1时,用户可以写入文本字段,如果选择值2,则禁用文本字段 但是,我更改了下拉菜单的值,因此一个值来自使用PHP的mysql表,另一个值保留为“option value='1”。但是现在两个文本字段都没有被禁用。下面是代码 `<script type="text/javascript"> function findselected() { if (document.form.selmenu.value == <
`<script type="text/javascript">
function findselected() {
if (document.form.selmenu.value == <?php echo $id; ?>) {
document.form.txtField.disabled=true;
// return false; // not sure this line is needed
} else {
document.form.txtField.disabled=false;
// return false; // not sure this line is needed
}
}
`
还有PHP部分
if(mysql_num_rows($SQL) == 1)
{
echo "<select name='selmenu' onChange='findselected()'>";
echo "<label>TCA_Subject</label>";
while ($row=mysql_fetch_array($SQL)) {
echo "<option value='$id'>$thing</option>";
echo "<option value='2'>Choice 2</option>";
}
}
echo "<option value=$userid>'Choice 1'</option>";
?> <option value='2'>Choice 2</option>";
</select>
我已经尝试将第二个选项值从循环中取出,将其放入html,在javascript函数中编辑变量。PHP没有错误,因为它正在检索并显示正确的结果,但是文本字段没有被禁用
有人知道可能的解决办法吗
谢谢
对测试简单php变量所做的更改
<script type="text/javascript">
function findselected() {
if (document.form.selmenu.value == <?php echo $wah;?>) {
document.form.txtField.disabled=true;
// return false; // not sure this line is needed
} else {
document.form.txtField.disabled=false;
// return false; // not sure this line is needed
}
}
</script>
<?php $wah = 'hello';
echo $wah;
?>
<form action="dump.php" method="POST" name="form">
<select name="selmenu" onChange="findselected()">
<option value="1">Choice 1</option>
<option value="<?php $wah;?>">Choice 2</option>
</select>
HTML中缺少回音,javascript中回音周围缺少一些引号
另外,$wah在初始化之前使用。请尝试以下方法:
<?php $wah = 'hello';
echo $wah;
?>
<script type="text/javascript">
function findselected() {
if (document.form.selmenu.value == '<?php echo $wah;?>') {
document.form.txtField.disabled=true;
// return false; // not sure this line is needed
} else {
document.form.txtField.disabled=false;
// return false; // not sure this line is needed
}
}
</script>
<form action="dump.php" method="POST" name="form">
<select name="selmenu" onChange="findselected()">
<option value="1">Choice 1</option>
<option value="<?php echo $wah;?>">Choice 2</option>
</select>
PHP看起来生成了糟糕的HTML,你确定上面的说法正确吗?感谢你的回复,我尝试过修改脚本,使其能够与上面创建的变量一起工作,但没有任何区别。我遗漏了一些明显的东西吗?感谢您的回复,我尝试将javascript中的PHP变量更改为,当这两次都不起作用时,我使用了抱歉的双重帖子,我尝试在javascript函数上方声明PHP变量,但仍然没有成功。iv甚至将函数移到了表单下方,但仍然不起作用。谢谢。它使用一个预设变量,但是如果我尝试调用数据库并用它填充选项值,而不是$wah,它就不起作用。我猜id需要在脚本开始时进行数据库调用,并存储变量结果,然后再将其放入选项值中。谢谢你让它工作起来。我想问题可能是PHP生成HTML。