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 в JavaScript
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » передача параметра-массива из php в JavaScript

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

1. Candela - 27 Апреля, 2009 - 17:41:21 - перейти к сообщению
Пытаюсь передать javascript-функции как параметр строку $znak_separated, сформированную из одномерного массива строк php-функцией implode, а затем внутри функции снова разбить её для использования в качестве массива:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $znak_separated="";
  3. $znak_separated = implode("!", $descs);
  4.  
  5. echo "<select size = \"1\" name=\"mySelect\" onChange=\"javascript:SelChange(".$znak_separated.");\">";
  6. ...
  7. echo "</select>";
  8. ?>

Сама функция:
PHP:
скопировать код в буфер обмена
  1. <SCRIPT LANGUAGE="JavaScript">
  2. function SelChange(s)
  3.     {
  4.       var szElement="";
  5.       szElement=Sel.mySelect.options[Sel.mySelect.selectedIndex].value;
  6.       str=s.split('!');
  7.       i=parseInt(szElement)+1;
  8.       Sel.showdes.value=str[i];
  9.     }
  10. </SCRIPT>

Подскажите, пожалуйста, что не так?
(Добавление)
Простите новичка, отправила сюда по ошибке, теперь не могу удалить из этой ветки Недовольство, огорчение
2. Champion - 27 Апреля, 2009 - 19:22:13 - перейти к сообщению
Candela, вот прочитай http://phpfaq[dot]ru/na_tanke#js
Там на самом деле хорошо написано) И не много, буквально страничка.
(Добавление)
А стоп, нет, извини. То, что там написано, ты и так знаешь.
Candela пишет:
echo "<select size = \"1\" name=\"mySelect\" onChange=\"javascript:SelChange(".$znak_separated.");\">";
Вот тут замени на
CODE (text):
скопировать код в буфер обмена
  1. echo "<select size = \"1\" name=\"mySelect\" onChange=\"javascript:SelChange('".$znak_separated."');\">";
Строка-то в кавычках должна получаться.
(Добавление)
А вот отладка - полезная вещь!
3. Candela - 04 Мая, 2009 - 21:59:36 - перейти к сообщению
Большое спасибо! Я решила проблему парой скриптов:
PHP:
скопировать код в буфер обмена
  1. echo '
  2. <script type="text/javascript">
  3.         var stroka;
  4.         stroka=\''.$znak_separated.'\';
  5. </script>
  6. ';

и
CODE (text):
скопировать код в буфер обмена
  1. <SCRIPT LANGUAGE="JavaScript">
  2. function SelChange()
  3.         {
  4.         var szElement="";
  5.         len=stroka.split("!");
  6.         szElement=len[Sel.mySelect.selectedIndex];
  7.         document.getElementById('info').innerHTML = szElement;
  8.            }
  9. </SCRIPT>

За ссылку отдельное спасибо Улыбка

 

Powered by ExBB FM 1.0 RC1