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
в РНР ты полный ноль.


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

laimas 30.09.2016 11:36

Цитата:

Сообщение от warren buffet
А может у него 5.3, у моего хостера 5.3 например.

Ты дебил. В php.ini short_open_tag по умолчанию определен со значением 1, а для изменения доступен как PHP_INI_ALL в PHP 4.0.0. PHP_INI_PERDIR в PHP >= 4.0.1.

Заткнись придурок.

warren buffet 30.09.2016 11:40

Ну может хостер и поменял, откуда ты всё про всех знаешь? Ты бетмен? )))

Открой любой попсовый фреймворк и убедись, что клали грамотные люди на шоркаты.

laimas 30.09.2016 11:55

Цитата:

Сообщение от warren buffet
шоркаты

ну прямо офигеть, жаргон прям таки "век воли не видать".

Ты полный придурок, тратить на тебя время я не намерен.

warren buffet 30.09.2016 15:06

Задолбал обзываться. Ты же видишь, что на меня это не действует. Просто нельзя советовать такие вещи, не отметив риска.

laimas 30.09.2016 15:33

Цитата:

Сообщение от warren buffet
Просто нельзя советовать такие вещи, не отметив риска.

Даже риска? Программисту голова не для того, чтобы кушать. Не гони пурги. То о чем ты говоришь было актуальным при Екатерине II.

warren buffet 01.10.2016 05:22

laimas, значит ты либо не программист, либо у тебя нет головы.

Иди лечись от гордыни страдалец.


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