У меня есть эта функция JavaScript, которую я пытаюсь понять. Я не знаю, было ли это реализовано в jquery.

Это функция, связанная с кнопкой. Когда кнопка нажата, она должна отобразить на экране, что голос был отдан. Можете ли вы объяснить мне назначение 'id' и 'nb' в этой функции и что делает каждая строка? Я полагаю, что четвертая строка переводит пользователя к элементу Vote_yes.php базового URL, если он нажимает кнопку? $ lang189 - это переменная, сообщающая, что голос, собранный и выведенный между литеральными скобками, - это html и javacript, а код находится за скобками php.

  {literal}
    function VOTEYES(id,nb) {
        $('#vote'+id).css('display','none');
        $.post("{/literal}{$baseurl}/vote_yes.php{literal}",{"id":id,"nb":nb},function(html) {
            $('#vote'+id).html('{/literal}{$lang189}{literal} ('+html+')').fadeIn();
        });
    }{/literal}

Я знаком с PHP, а не с опытом работы с JavaScript. Я не хочу изучать весь язык, чтобы понять, как работает эта кнопка голосования, пожалуйста, помогите. Cookies участвуют.

Спасибо.

1
David Willis 19 Авг 2010 в 18:58

5 ответов

Лучший ответ
  1. Определена функция VOTEYES, которая принимает 2 аргумента id и nb
  2. Он находит элемент с идентификатором «voice» + id, поэтому, если id равен 2, он будет vote2
  3. Он скрывает этот элемент, делая его недоступным для клика.
  4. Он выполняет ajax-запрос, POST-вызов к любому $baseurl, корневому домену, я полагаю, есть и добавляет к нему vote_yes.php
  5. Он передает параметры id и nb в запросе POST.
  6. Затем он берет html с этой vote_yes.php страницы и добавляет его к элементу vote2, добавляя его.
3
meder omuraliev 19 Авг 2010 в 15:03

Я считаю, что первая строка внутри функции скрывает кнопку, поэтому пользователь не может нажать ее снова.

0
DOK 19 Авг 2010 в 15:04

Функция просто делает вызов на страницу с URL:

{/literal}{$baseurl}/vote_yes.php{literal}

И передавая следующие параметры через «POST»:

"id": id
"nb": nb

И используя jQuery, чтобы добавить ответ со страницы.

0
Justin Niessner 19 Авг 2010 в 15:01

Да, он использует jQuery. Похоже, что идентификатор используется, чтобы определить, какой элемент с идентификатором voiceID использовать. Я не совсем уверен, для чего используется nb, потому что он просто передается как переменная POST на страницу voice_yes.php в AJAX. Я бы исследовал эту страницу для получения дополнительной информации.

0
Aaron Hathaway 19 Авг 2010 в 15:04

Отправит id и nb на voice_yes.php. выходной ответ будет на (HTML) переменной. Теперь с $ ('# voice' + id) .html (xxx) будет установлено, что полученный ответ будет содержимым другого html-элемента.

0
Juan Zamora 19 Авг 2010 в 15:38