Функция JavaScript со вставкой РНР
Добрый день!
У меня вот такая ситуация возникла: вот эта функция некорректно работает: function getTeams (team) { switch (team) { case 1: <? $array=$k; ?> break; case 2: <? $array=$s; ?> break; case 3: <? $array=$u; ?> } } Независимо от входящего значения team на выходе получается $array=$u как-будто нет оператора break; Подскажите, плиз, как подправить |
http://phpfaq.ru/na_tanke
иди учить азы PHP и JS - разные языки, исполняемые в разное время и на разных компьютерах, и делать взаимные вставки их друг в друга таким образом нельзя |
я тоже так думал
почему тогда выполняется строка $array=$u? |
Они все выполняются, эта просто последняя.
|
потому что сначала на сервере страница исполняется с помощью PHP
Независимо от наличия JS,HTML, etc... а затем уже в браузере сгенерированная страница обрабатывается так, как знает браузер |
<html> <script LANGUAGE="JavaScript"> function getTeams (team) { switch (team) { case "1": <? echo "document.getElementById('result').innerHTML = '1';\n"; ?> break case "2": <? echo "document.getElementById('result').innerHTML='2';\n"; ?> break case "3": <? echo "document.getElementById('result').innerHTML='3';\n"; ?> break default: <? echo "document.getElementById('result').innerHTML='Other';\n"; ?> } } </script> <body> <input type=text id='a'><br> <input type=button value='enter' onClick="getTeams(document.getElementById('a').value);";> <div id='result'></div> </body> </html> Однако так работает ... смотря что вы РНР хотите делать ... 1. назначить переменную для javascript с помошью РНР - без проблем (echo) 2. выполнить javascript без проблем (тока придётся забивать его в echo в РНР скрипте, что несколько потом усложнит его отладку если что-то пойдёт не так ....) И кста ... case ... а простите что у Вас является условием? 1,2,3 - енто что ? значения или что :) |
ZeDeX, не надо такие советы давать :stop:
|
ок ... можете объяснить в чём моя ошибка ? Буду очень благодарен :)
|
логическим продолжением твоего кода будет следующий
... <? echo 'f' ?>unct<? echo 'i' ?>on getTeams (team) { // и т.д. Человеку уже дали нужную ссылку Можно было разве что поинтересоваться, чего он хочет добиться и предложить нормальное решение Ты же придумал ситуацию, в которой код ТС может понадобиться, и сделал, чтобы он заработал. Хотя в придуманной тобой ситуации php на самом деле не нужен |
спасибо ... :) Впредь буду внимательнее. :)
|
Часовой пояс GMT +3, время: 05:47. |