JavaScript & CakePHP: как заставить этот простой скрипт работать?

Я пытаюсь использовать echo $this->Html->script('dynamic_emails'); в самом начале просмотра файла (ctp) для загрузки некоторого JavaScript, но в настоящее время он не работает. Это работает, если я явно поставил на место <script type="text/javascript" src="/mysite/js/dynamic_emails.js"></script> в конце просмотра файла.

Вот код Я подозреваю, что функция не объявлена ​​должным образом. Есть идеи?

dynamic_emails.js:

var mytextbox = document.getElementById('mytext');
var mydropdown = document.getElementById('dropdown');

mydropdown.onchange = function(){
     mytextbox.value = 'some text';
}

2 ответа

Решение

В зависимости от вашей версии на торт ваши js должны находиться в app/webroot/js/dynamic_email.js, попробуйте поместить его туда, а затем включить его в помощник, или просто включить его напрямую

Также обычно рекомендуется включать js внизу ваших файлов, а еще лучше внизу макета.

  • Если вы уже используете что-то вроде торта, это, вероятно, средний или большой проект, в случае которого вы бы действительно выиграли от использования чего-то вроде jquery.

Приводит ли код, выданный помощником, к действительному тегу сценария (правильно указывающему на ваш файл Javascript), загружается ли файл Javascript браузером? Стоит проверить, что результат соответствует ожиданиям.

Честно говоря, я не уверен, что использование здесь вспомогательного средства CakePHP действительно очень сильно выигрывает, вы можете просто включить полный тег script.

Другие вопросы по тегам