Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Передача переменной в ф-ю js, которая расположена в отдельном файле (https://javascript.ru/forum/events/50445-peredacha-peremennojj-v-f-yu-js-kotoraya-raspolozhena-v-otdelnom-fajjle.html)

Luchi 26.09.2014 14:31

Передача переменной в ф-ю js, которая расположена в отдельном файле
 
Доброго времени суток!
Вызываю ф-ю js в файле php и нужно передать переменную этой ф-и. Сама ф-я расположена в отдельном .js, если не передавать переменную, то confirm выводит OK. А когда передаю, то confirm выводит пустое окно.

Код test.php
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	</head>
	<body>
		<?php $a = "OK"; ?>
		<script type="text/javascript" src="http://<?php echo $_SERVER['SERVER_NAME']; ?>/js.js"></script>
		<script type="text/javascript">fn(<?php $a ?>);</script>
	</body>
</html>


Код js.js
function fn(b)
{
	confirm(b);
}


На google и других сайтах уже искал, не помогло

kostyanet 26.09.2014 17:46

В хтмле у вас вот так

fn(OK);

бНОПНЯ? бНОПНЯ!

kostyanet 26.09.2014 17:52

А, и ще, вот так

<?php $a ?>

точно что-то попадет в буфер?

Я не проверял, а делается вот так

<?php =$a ?>

или канонично

<?php echo $a; ?>

и насчет бнопни (то есть вопроса), надо так

$a = '"OK"';

Тогда вы передаете скаляр в функцию, а не переменную ОК которой у вас нет, наверно.

Luchi 27.09.2014 10:50

Благодарю за ответ @kostyanet.
Так тоже делал
<?php echo $a; ?>

confirm совсем ничего не выводил. Дело оказалось
$a = '"OK"';

Так работает.


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