Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Добавления в форме нового поля по условию
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Добавления в форме нового поля по условию

Страниц (1): [1]
 

1. Ejik - 29 Июля, 2010 - 08:55:34 - перейти к сообщению
Приветствую всех Форумчан!!!
Подскажите как правильно реализовать в форме вывод нового поля по определенному условию. Т.е есть форма сотрудника, где указывается все его данные ФИО, департамент, и должность. Нужно чтобы выбрав должность например Президент, в форме появлялось новое дополнительное поле, в других случаях оно было скрытым.
Можно ли это сделать с помощью пхп?
2. Саныч - 29 Июля, 2010 - 09:10:16 - перейти к сообщению
Ejik пишет:
Можно ли это сделать с помощью пхп?

это делается на javascript
3. Ejik - 29 Июля, 2010 - 09:18:21 - перейти к сообщению
Саныч пишет:
это делается на javascript

я с php еще хоть как то, а вот с javascript вообще не дружу. Можно примерчик.
4. Саныч - 29 Июля, 2010 - 09:34:34 - перейти к сообщению
вот простой пример...
з.ы. используется jQuery
CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>Untitled Document</title>
  6. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  7. <script type="text/javascript">
  8. $(function()
  9. {
  10.         $("select").change(function()
  11.         {
  12.                 if($(this).val() == "pr") $(this).nextAll("label").slideDown(400);
  13.                 else $(this).nextAll("label").slideUp(400);
  14.         });
  15. });
  16. </script>
  17. </head>
  18.  
  19. <body>
  20. <form action="" method="get">
  21. <label>Фамилия <input name="f" type="text"></label><br>
  22. <label>Имя <input name="n" type="text"></label><br>
  23. <label>Отчество <input name="o" type="text"></label><br>
  24. <label>Департамент <input name="d" type="text"></label><br>
  25. <select name="dol">
  26.  <option value="pm">Премьер</option>
  27.  <option value="sp">Спикер</option>
  28.  <option value="pr">Президент</option>
  29. </select><br>
  30. <label style="display: none;">Дополнительно <input name="dop" type="text"></label>
  31. </form>
  32. </body>
  33. </html>
  34.  
5. Ejik - 29 Июля, 2010 - 09:42:54 - перейти к сообщению
Саныч пишет:
вот простой пример...
з.ы. используется jQuery

Спасибо большое, попробую разобраться.
6. Ejik - 29 Июля, 2010 - 13:47:41 - перейти к сообщению
еще вопрос, не хотел создовать доп. тему, нужно оброботать такое условие
это у же на странице справочника если выбран департамент с id = 34 иди 5 то выводим доплнителные столбцы
пробовал так но дает ошибку
Parse error: syntax error, unexpected T_LOGICAL_OR
PHP:
скопировать код в буфер обмена
  1. if ($id_dep == 34 ) or ($id_dep == 5)  {
  2.            echo "<td>Дата назначения на должность</td>
  3.                  <td>Срок окончания полномочий</td>";
  4.            }
7. Саныч - 29 Июля, 2010 - 14:04:25 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. if ($id_dep == 34 || $id_dep == 5)  {
8. Ejik - 29 Июля, 2010 - 14:14:52 - перейти к сообщению
Саныч спасибо!!!!
9. Ejik - 30 Июля, 2010 - 05:59:08 - перейти к сообщению
Саныч
у меня в форме должностя вытаскивает из БД
вот так:
PHP:
скопировать код в буфер обмена
  1. //Выводим названия должности вместо его id
  2.   $p=mysql_query("SELECT position.id_pos, position.name_pos
  3.                  FROM position WHERE ".$rows['position']."=position.id_pos;");
  4.         $pos=mysql_fetch_array($p);?>  
  5. Должность:<br>
  6. <select name="position"> <?PHP foreach ($data as $position) {?>
  7.  <option value="<?=htmlspecialchars($position['id_pos'])?>" <? if ($position['id_pos']==$rows['position'])
  8.  echo $selected="selected"; ?>><?=htmlspecialchars($position['name_pos'])?></option> <? }?></select><br>

что нужно указать в вашем примере
Саныч пишет:
if($(this).val() == "pr")
10. Саныч - 30 Июля, 2010 - 09:11:05 - перейти к сообщению
$(this).val() - это неопходимое значение (<option value="pm">) при выборе которого и открывается доп. поле...
Проще говоря, вам нада чтобы поле открывалось при выборе "Президент", вот и замените "pr" на значение value= неопходимого option

 

Powered by ExBB FM 1.0 RC1