Отключение текстового поля с Javascript, когда значение в раскрывающемся списке от MySQL - PullRequest
0 голосов
/ 14 мая 2010

У меня есть простой скрипт на HTML, использующий выпадающее меню. Когда выбрано значение 1, пользователь может писать в текстовом поле, если выбрано значение 2, текстовое поле отключается.

Однако я изменил значения выпадающего меню, так что одно значение было из таблицы mysql (с использованием PHP), а другое осталось 'option value =' 1 ''. Пока что ни одно из текстовых полей не отключено. Ниже приведен код.

`<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> 

Ответы [ 2 ]

0 голосов
/ 14 мая 2010

Попробуйте это:

<?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> 
0 голосов
/ 14 мая 2010

Вам не хватает echo в HTML и некоторые цитаты вокруг echo в javascript.

Кроме того, $wah используется до инициализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...