#javascript #php
#javascript #php
Вопрос:
это мой исходный код
echo "<script>";
echo "movea(".$rejected.",".$total.")";
echo "</script>";`
всякий раз, когда я пытаюсь запустить этот код, компилятор html игнорирует все, что находится перед этим кодом, а также требуемая цель не достигается, поскольку функция не вызывается.
если я удалю эти переменные из кода и передам значения вручную, все будет работать нормально.
в чем проблема, пожалуйста, помогите.
обе переменные имеют тип int.
Комментарии:
1. Потому что она отображает две строки, которые, вероятно, не заключены в кавычки. Посмотрите на то, что отображается, а не на PHP-код, и вы увидите свою проблему. Или посмотрите на консоль для ошибки JavaScript.
2. Нет необходимости выходить из PHP для печати переменных в двойных кавычках. но вам нужно заключать строки в JS — используйте для этого одинарные кавычки;
echo "movea('$rejected', '$total')";
Ответ №1:
Попробуйте это:
echo "<script>";
echo "movea("".$rejected."","".$total."")";
echo "</script>";
переменные не заключены в кавычки должным образом.
Комментарии:
1. Почему бы просто не использовать одинарные кавычки внутри строки? Тогда вам не нужно экранировать внутренние кавычки (и вы можете использовать интерполяцию строк вместо конкатенации, но это всего лишь вопрос предпочтений).
Ответ №2:
Проверьте свои кавычки внутри функции movea. Даже если ваши переменные имеют тип int, вы все равно можете передать их в виде строки в JS.
echo "movea('".$rejected."','".$total."')";