#php #jquery #ajax
#php #jquery #ajax
Вопрос:
У меня есть веб-страница со ссылкой на нее. Вы нажимаете на ссылку, и она генерирует таблицу внутри <div>
с помощью AJAX. Вместе с таблицей, когда это <div>
загружается, он запускает некоторый javascript, чтобы пользователь мог голосовать за / против элементов в таблице. Моя проблема в том, что если пользователь нажимает на ту же ссылку, чтобы восстановить <div>
, он перезагружает ВТОРОЙ javascript, так что нажатие стрелки upvote один раз фактически запускает 1 дважды. Я не знаю, нужно ли вам просматривать какой-либо конкретный код, или есть какой-то общий способ исправить это, но вот более четкое изображение моей настройки файла.
mainpage.php по ссылке под названием «показать таблицу»
voting.js
getTable.php
* Нажмите «показать таблицу» на главной странице,getTable.php вызывается.
*getTable.php вызовы voting.js чтобы пользователь мог голосовать за элементы
* Нажмите «показать таблицу» еще раз и ЕЩЕvoting.js вызывается
* Теперь при нажатии стрелки upvote дважды проходит через код 1.
Что может сделать парень?
Комментарии:
1. Парень может опубликовать несколько
//example code
для одного…2. С помощью ‘getTable.php вызывает voting.js ‘ вы имеете в виду, что он вставляет содержимое этого файла на страницу? Или он включает файл через тег script?
3. @pixelbobby Я могу включить код, но не уверен, что конкретно вы хотите увидеть. Я не хочу размещать 3 страницы кода, если вам это не нужно.
4. @jayp voting.js вызывается с файлом скрипта на getTable.php
5. вы должны предоставить более четкую концепцию, чтобы мы могли помочь вам более точно.
Ответ №1:
Вы могли бы включить voting.js на mainpage.php вместо getTable.php . Он был бы загружен один раз, но GetTable все равно мог бы его использовать.
Комментарии:
1. Я считаю, что это сработало :). По какой-то причине я думал, что попробовал это, и это не сработало, но теперь это работает. Спасибо!
Ответ №2:
Я предполагаю (предполагаю, потому что у нас нет кода), что вы добавляете данные в div. поэтому вместо того, чтобы добавлять его, просто напишите / перезапишите его.
Ответ №3:
то, как вы это объяснили, немного сбивает меня с толку, поэтому я собираюсь основывать свой ответ на том, с чем, по моему мнению, у вас возникла проблема.
Когда пользователь отправляет 1 голос, он отправляет его 2 раза
вы можете использовать переключатель, в основном, когда они нажимают, вызывайте, если ваш переключатель включен, сделайте это, если он не включен, установите его в положение включено и запустите код
if(sitchMe == "on"){
//dont run the code
}
else{
//run it
switch = "on"
}