@nikitahudkov

Как выполнить JS код на странице PHP?

У меня есть страница index.php, на которой я расположил форму. Мне нужно чтобы код JS обрабатывал форму, я указал в атрибуте action файл index.js. Но при нажатии на кнопку я просто попадаю на index.js где написан этот код и он не выполняется. Что делать?
  • Вопрос задан
  • 366 просмотров
Решения вопроса 1
neuotq
@neuotq
Прокрастинация
Первое что нужно понять, где выполняется ваш js код.
Если это бекенд и сервер, то php тут вообще не нужен, выполнять код на сервере будет например окружение nodejs или аналоги.
Если в браузере, то сам код либо добавляете в структуру html документа(теги script ):
<script>
console.log('Привет я код на javascript');
</script>

либо кладёте в публично доступное место на сервере и подключаете как скрипт(мы подключаем из того места где и корень сервера):
<script src="/myscript.js"></script>
В форме в action пишут куда сам браузер сделает запрос(get или post) и обычно это бекенд(тот же php)
Вам же, для обработки в браузере, нужно перехватывать отправку формы в самом js скрипте через событие
Допустим у формы id='form'
function formSubmit(event) {  
  event.preventDefault();
 console.log('Форму пытались отправить');
}
const form = document.getElementById('form');
form.addEventListener('submit', formSubmit);

Опять таки, могут быть нюансы, зависит от задачи и скрипта
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@fapsi
Безработный
Переосмыслить выбранный путь вообще.

А конкретно по вопросу. Если так критично, чтобы форму обрабатывал JS скрипт, то скрипт должен быть подключён к этой странице, к телу HTML, где прописана эта форма. По событию нажатия на кнопку скрипт собирает данные из полей формы и обрабатывает их. А дальше - что угодно. Но, вообще говоря, так не делается.
Ответ написан
Комментировать
zkrvndm
@zkrvndm
Архитектор решений
Для выполнения JavaScript-кода из файла на вашей странице, его (код из файла) надо подключить в шапке сайта внутри тега head

https://yandex.ru/search/touch/?text=%D0%BA%D0%B0%...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы