Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Функция JavaScript со вставкой РНР (https://javascript.ru/forum/css-html-internet-explorer/6695-funkciya-javascript-so-vstavkojj-rnr.html)

Tariel 15.12.2009 20:48

Функция JavaScript со вставкой РНР
 
Добрый день!
У меня вот такая ситуация возникла: вот эта функция некорректно работает:
function getTeams (team) {
switch (team) {
case 1:
<? $array=$k; ?>
break;
case 2:
<? $array=$s; ?>
break;
case 3:
<? $array=$u; ?>
}
}
Независимо от входящего значения team на выходе получается $array=$u как-будто нет оператора break;
Подскажите, плиз, как подправить

Gvozd 15.12.2009 20:52

http://phpfaq.ru/na_tanke
иди учить азы
PHP и JS - разные языки, исполняемые в разное время и на разных компьютерах, и делать взаимные вставки их друг в друга таким образом нельзя

Tariel 16.12.2009 16:26

я тоже так думал
почему тогда выполняется строка $array=$u?

Kolyaj 16.12.2009 16:27

Они все выполняются, эта просто последняя.

Gvozd 16.12.2009 16:51

потому что сначала на сервере страница исполняется с помощью PHP
Независимо от наличия JS,HTML, etc...
а затем уже в браузере сгенерированная страница обрабатывается так, как знает браузер

ZeDeX 17.12.2009 11:56

<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 - енто что ? значения или что :)

x-yuri 18.12.2009 08:14

ZeDeX, не надо такие советы давать :stop:

ZeDeX 18.12.2009 09:22

ок ... можете объяснить в чём моя ошибка ? Буду очень благодарен :)

x-yuri 18.12.2009 14:58

логическим продолжением твоего кода будет следующий
...
<? echo 'f' ?>unct<? echo 'i' ?>on getTeams (team) {
// и т.д.

Человеку уже дали нужную ссылку
Можно было разве что поинтересоваться, чего он хочет добиться и предложить нормальное решение
Ты же придумал ситуацию, в которой код ТС может понадобиться, и сделал, чтобы он заработал. Хотя в придуманной тобой ситуации php на самом деле не нужен

ZeDeX 18.12.2009 18:19

спасибо ... :) Впредь буду внимательнее. :)


Часовой пояс GMT +3, время: 02:23.