Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / передача в скрипт команды через Php / 5 сообщений из 5, страница 1 из 1
10.11.2017, 14:08
    #39550999
raven_2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача в скрипт команды через Php
доброе время суток, коллеги!

мне нужно вывести в список на web-странице фамилии сотрудников в зависимости от должности. при выборе должности из списка запускается скрипт очищает список и начинает заполнять заново
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
theinput = document.getElementById(theinput);  
  var idx = thelist.selectedIndex;
  var content = thelist.options[idx].innerHTML;
  theinput.value = content;
	
  theclear=document.getElementById(theclear); 
  theclear.innerHTML = '';

  var elem=document.createElement("option");  
  elem.innerText="Выберите сотрудника";
  theclear.appendChild(elem);
  theclear.firstChild.nodeValue="Выберите сотрудника";


после добавления значения по умолчанию идет вставка на php подключение к базе данных, передача параметров, выборка данных которые нужно отобразить в списке
для чего я задаю цикл
Код: php
1.
2.
3.
4.
5.
6.
 while($row = sqlsrv_fetch_array($res))
{
		echo "elem=document.createElement('option'); ";
		echo "elem.innerText=".$res['naim']."; ";
		echo "theclear.appendChild(elem);";
}


но данные не обновляются хотя сообщения об ошибках не выдает
причем, если закомментировать 2-ю строку цикла

Код: php
1.
2.
3.
4.
5.
6.
 while($row = sqlsrv_fetch_array($res))
{
    echo "elem=document.createElement('option'); ";
/*    echo "elem.innerText=".$row['naim']." ";*/
    echo "theclear.appendChild(elem);";
}


то мне добавляет нужно количество элементов списка.
хотя из без данных

вопрос: как мне расставить знаки препинания?
...
Рейтинг: 0 / 0
10.11.2017, 14:35
    #39551027
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача в скрипт команды через Php
raven_2008,

innerText - нестандартное свойство , вместо него надо использовать textContent.

Попробуйте в цикле просто сформировать строку, а потом отправить её через echo, примерно так:
Код: php
1.
2.
3.
4.
5.
$str = '<select>';
while($row = sqlsrv_fetch_array($res)) {
  $str .= '<option>'.$res['naim']; // тег option не надо закрывать
}
echo $str.'</select>';
...
Рейтинг: 0 / 0
10.11.2017, 14:56
    #39551045
raven_2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача в скрипт команды через Php
user89,


у меня уже есть список Должностей
отображаемый при загрузке сайта

Код: html
1.
2.
3.
4.
5.
6.
	    
 <select name="thelistDepart"  onChange="comboDepart(this, 'varDepart','comboListFIO')">  
		<option  selected value="Должность"> Должность </option>
		<?php
/*  здесь происходит заполнение списка из таблицы */
                  ?>


пользователь выбрал должность (Менеджер), и желает получить список сотрудников занимающих должность (Менеджер)
для чего нужно очистить список Фамилии (от имеющихся)
и заполнить его заново

т.е. функция comboDepart
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
function comboDepart(thelist, theinput, theclear)
{
  theinput = document.getElementById(theinput);  

  theclear=document.getElementById(theclear); 
  theclear.innerHTML = '';
  <!--   очистили-->	

  var elem=document.createElement("option");  
  elem.innerText="ФИО";
  theclear.appendChild(elem);
  theclear.firstChild.nodeValue="ФИО";
  <!--   поставили значение по умолчанию -->		

  <?php
	 <!--   и заполняем заново-->	
	if ($res = sqlsrv_query($conn,$tsql,$params)) 
	{   } 
	else
	{ 
	 	echo "Statement could not be prepared.\n";
      		die( print_r( sqlsrv_errors(), true));
	}
	while($row = sqlsrv_fetch_array($res))
	{
		echo "elem=document.createElement('option'); ";
		echo "elem.innerText=".$res['naim']."; ";  /*  вот на эту строку ругается, некорректные кавычки */
		echo "theclear.appendChild(elem);";
	}
	sqlsrv_free_stmt( $res);
	sqlsrv_close( $conn);
   ?>
  
}



а список уже есть
выводит его заново - он "съедет" с места
...
Рейтинг: 0 / 0
10.11.2017, 16:33
    #39551160
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача в скрипт команды через Php
Можно просто вывести на экран браузера, посмотреть что там вообще передается
Код: php
1.
echo "elem.innerText=", $res['naim'], "; ";


raven_2008
Код: php
1.
echo "elem.innerText=".$res['naim']."; ";  /*  вот на эту строку ругается, некорректные кавычки */

А c такими кавычками прокатит?
Код: php
1.
echo 'elem.textContent = "' .$res['naim']. '"; ';
...
Рейтинг: 0 / 0
10.11.2017, 17:11
    #39551204
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача в скрипт команды через Php
Код: php
1.
echo "elem.innerText=".$res['naim']."; ";  /*  вот на эту строку ругается, некорректные кавычки */


Пишите проще. Меньше всяких ненужных действий - меньше ошибок.

Код: php
1.
echo "elem.innerText='{$res['naim']}';"; 


В данном случае, кстати, все три строчки легко выводятся одним echo.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / передача в скрипт команды через Php / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]