Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Передача переменной из PHP в JS (что я делаю не так). (https://javascript.ru/forum/misc/65145-peredacha-peremennojj-iz-php-v-js-chto-ya-delayu-ne-tak.html)

St. 29.09.2016 20:06

Передача переменной из PHP в JS (что я делаю не так).
 
Как передать значение переменной из PHP в фунцию JS?

Делаю вот так:
echo '<form action="' . $url . '" method="post" name="FormRegistration" onsubmit="return RegistrationValid(\'Текст_для_функции\');">';

Работает.

Делаю вот так:
$abcd = 'Текст_для_функции';
echo '<form action="' . $url . '" method="post" name="FormRegistration" onsubmit="return RegistrationValid("' . $abcd . '");">';

Не работает.

Как правильно? Подскажите пожалуйста.

laimas 29.09.2016 20:31

Цитата:

Сообщение от St.
Не работает.

onsubmit="return RegistrationValid(\'Текст_для_функци и\');" - все правильно, строковый аргумент функции в кавычках.

onsubmit="return RegistrationValid("' . $abcd . '");" - ошибка с кавычками.

Не сложно же результат посмотреть?

<form action="" method="post" name="FormRegistration" onsubmit="return RegistrationValid(" Текст_для_функции");"="">

St. 29.09.2016 20:43

Цитата:

Не сложно же результат посмотреть?
Да уж... Как исправить, чтобы было правильно?

laimas 29.09.2016 20:47

Также как и в первом случае - одинарные с экранированием

(\'' . $abcd . '\')"

St. 29.09.2016 21:01

Хух... Исправил. Вот:
$abcd = 'Текст_для_функции';
echo '<form action="' . $url . '" method="post" name="FormRegistration" onsubmit="return RegistrationValid(\'' . $abcd . '\');">';

Спасибо. :)

Дополнение.
Цитата:

Не сложно же результат посмотреть?

Посмотреть можно так:
echo htmlspecialchars('<form action="'. $url . '" method="post" name="FormRegistration" onsubmit="return RegistrationValid(\'' . $abcd . '\');"');

laimas 29.09.2016 21:27

Цитата:

Сообщение от St.
Посмотреть можно так:

Я и без просмотра знаю :) И не обязательно htmlspecialchars, есть отладчик в браузере, F12. Он и ошибку укажет, и исходный код просмотреть можно, и многое другое.

laimas 30.09.2016 05:28

Rise,
лучше тогда так: action="<?=$url?>"

warren buffet 30.09.2016 10:13

laimas, фича шорката может быть НЕ включена в настройках.

Правильно вот так

<?php echo $form; ?>
<script>/* та самая функция */</script>

laimas 30.09.2016 10:17

Цитата:

Сообщение от warren buffet
шоркат может быть НЕ включен.

Ты дебил, начиная с версии 5.4 краткая форма работает независимо от конфигурации short_open_tag.

Заткнись, ты спец в "пехепе", в РНР ты полный ноль.

warren buffet 30.09.2016 11:32

Цитата:

Сообщение от laimas
начиная с версии 5.4


А может у него 5.3, у моего хостера 5.3 например. Иди скажи "дебил" в ник.ру )))

Цитата:

Сообщение от laimas
в РНР ты полный ноль.


Гифку хочешь?


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