Ru-Board.club
← Вернуться в раздел «Web-программирование»

» вопросы по javascript

Автор: KrgUser
Дата сообщения: 17.07.2016 17:47
Mavrikii понятно, спасибо. Поскольку у меня массив содержал ровно 1 элемент, я обошелся без индексов. А то что выше писал
Цитата:
У меня массив и так имеет больше 1 элемента
так тому спешка помогла, выразился неверно, имея в виду другое

unreal666, тоже спасибо
Цитата:
только вот результатом join является строка
Так у меня фактически в качестве элемента массива была строка, надо было ее распарсить. С вашей помощью я это сделал
Автор: KrgUser
Дата сообщения: 19.07.2016 15:47
Еще один вопрос уважаемым знатокам

Есть браузерный скрипт
Код:
;
jQuery(function($){
'use strict';

. . .
newWord : function(data) {
// Create an unordered list element
var $list = $('<ul/>').attr('id','ulAnswers');

// Insert a list item for each word in the word list
// received from the server.
$.each(data.list, function(){
$list // <ul> </ul>
.append( $('<li/>') // <ul> <li> </li> </ul>
.append( $('<button/>') // <ul> <li> <button> </button> </li> </ul>
.addClass('btnAnswer') // <ul> <li> <button class='btnAnswer'> </button> </li> </ul>
.addClass('btn') // <ul> <li> <button class='btnAnswer'> </button> </li> </ul>
.val(this) // <ul> <li> <button class='btnAnswer' value='word'> </button> </li> </ul>
.html(this) // <ul> <li> <button class='btnAnswer' value='word'>word</button> </li> </ul>
)
)
});

// Insert the list onto the screen.
$('#gameArea').html($list);
},
. . .

}($));
Автор: Mavrikii
Дата сообщения: 19.07.2016 17:48
KrgUser

Цитата:
Неужели он там так уж необходим?

Нет, всего лишь для 'удобства'
Автор: KrgUser
Дата сообщения: 19.07.2016 18:04
Mavrikii
Цитата:
Нет, всего лишь для 'удобства'
А можно поподробнее? Почему именно этот знак выбирают? Должна же быть какая-то логика. Ведь по здравому смыслу перегружать один и тот же символ в одном и том же выражении как-то некошерно

Если что, прошу прощения --- я новичок в этом языке

Спасибо
Автор: Mavrikii
Дата сообщения: 19.07.2016 19:43
KrgUser
Где вы там перегрузку увидели? $list нормальное имя переменной. Напоминает, что внутри объект jquery
Автор: KrgUser
Дата сообщения: 20.07.2016 08:13
Mavrikii
Цитата:
Где вы там перегрузку увидели?
"Перегрузка" тут в обычном смысле, а не ООП
Цитата:
Напоминает, что внутри объект jquery
Ну, хоть в этом какая-то логика

Спасибо
Автор: Mavrikii
Дата сообщения: 20.07.2016 08:15
KrgUser

Цитата:
"Перегрузка" тут в обычном смысле, а не ООП

нет тут никакого переопределения. jQuery может использовать $, но $ и $list - разные вещи.
Автор: KrgUser
Дата сообщения: 20.07.2016 12:07
А как обрабатывается ситуация, когда в коде, подобном
Код: $("#SomeField").SomeAction...
Автор: Mavrikii
Дата сообщения: 20.07.2016 12:31
KrgUser

Цитата:
Надо писать что-то вроде

Да

Цитата:
хотя сомневаюсь в этом варианте

Проще же попробовать, чем ждать ответ.
Автор: xerpal
Дата сообщения: 19.08.2016 10:32
Есть кнопка, по которой выполняется запрос к серверу через аякс. При загрузке страницы пытаюсь на неё кликнуть, чтобы запрос выполнился и один из дивов обновился.

Код: $(document).ready(function(){
    $('#edit-panes-quotes-quote-button').click(function(){
alert('click is here');
});    

$("#edit-panes-quotes-quote-button").click();
//$('#edit-panes-quotes-quote-button').trigger('click');
});  
Автор: Mavrikii
Дата сообщения: 19.08.2016 10:35
xerpal
только

Цитата:
$('#edit-panes-quotes-quote-button').trigger('click');



Цитата:
но сам запрос не идет на сервер

ну, как бы, неплохо увидеть и тот код. плюс смотреть консоль в браузере на наличие сообщений.
Автор: xerpal
Дата сообщения: 19.08.2016 10:49
Mavrikii

Цитата:
ну, как бы, неплохо увидеть и тот код.

Какой именно? Поясню что происходит - по нажатию на кнопку идет запрос на скрипт на сервере, по которому обновляется один из дивов. Я на сервере добавил левый код - и он виден, когда я сам нажимаю на кнопку. А вот когда программно - запрос на сервер не идет.


Цитата:
плюс смотреть консоль в браузере на наличие сообщений.

В Chrome ниче не вижу - может не туда смотрю. Но повторюсь - alert то вылазит, значит клик есть по кнопке.

Ещё одно решение - обновить один раз страницу, но не выходит - зацикливается обновление. Это вообще возможно - обновить страницу только ОДИН РАЗ скриптом?
Автор: Mavrikii
Дата сообщения: 19.08.2016 10:53
xerpal

Цитата:
Какой именно?  

который делает ajax запрос.

Цитата:
Но повторюсь - alert то вылазит, значит клик есть по кнопке.

но ajax то запрос не идет. скорее всего попытка на другой домен, тогда будет сообщение в консоли браузера о кроссдоменном запросе.


Цитата:
Это вообще возможно - обновить страницу только ОДИН РАЗ скриптом?

можно, добавлять метку, что обновление было - в куки или GET аргумент в адресе (то, что идет после знака вопроса).



Цитата:
Я на сервере  добавил левый код - и он виден, когда я сам нажимаю на кнопку. А вот когда программно - запрос на сервер не идет.

я не вижу как реализован ваш ajax запрос, на что он реагирует, поэтому и сказать не могу ничего
Автор: xerpal
Дата сообщения: 19.08.2016 11:01

Цитата:
можно, добавлять метку, что обновление было - в куки или GET аргумент в адресе (то, что идет после знака вопроса).  

Оба-на, и правда. Про GET реальный вариант. А как это лучше сделать - например как добавить &second=1? Нужно как понимаю просто при загрузке отправить на текущий адрес?second=1 и поставить проверку, чтобы когда second=1 не отправлять?


Цитата:
который делает ajax запрос.

Это я в одной из CMS - там jquery вшит, и запрос идет стандартными методами этой системы на сервер - отправляются эта форма нажатием по аяксу нажатием на кнопку. Но всю форму отправлять нельзя - опять же зацикливание идет.


Цитата:
но ajax то запрос не идет. скорее всего попытка на другой домен, тогда будет сообщение в консоли браузера о кроссдоменном запросе.

Нет, почему - см выше
Автор: Mavrikii
Дата сообщения: 19.08.2016 11:06
xerpal
добавлять можно что угодно и как хочется.


Цитата:
там jquery вшит, и запрос идет стандартными методами этой системы на сервер - отправляются эта форма нажатием по аяксу нажатием на кнопку.

значит что то упускаете. например вызов идет не при нажатии на кнопку, а событие идет выше и там перехватывается. Не факт (не помню), что запуск триггер пузырит событие.
Автор: xerpal
Дата сообщения: 19.08.2016 11:23
Mavrikii

Цитата:
значит что то упускаете. например вызов идет не при нажатии на кнопку, а событие идет выше и там перехватывается. Не факт (не помню), что запуск триггер пузырит событие.

ну как можно упускать? Ну нажатие на кнопку то идет.

Код:

<input type="submit" id="edit-panes-quotes-quote-button" name="op" value="click for shipping" class="form-submit ajax-processed">

Автор: Mavrikii
Дата сообщения: 19.08.2016 11:25
xerpal

Цитата:
Может это ограничение в самом jQuery?

не думаю. там может быть на какое то другое событие привязано.

Цитата:
Ну нажатие на кнопку то идет.

когда вы на что то жмете, событие нажатия идет от элемента к его родителю и выше, если не остановлено. мне нужно видеть и попробовать, чтобы сказать в чем причина.
Автор: xerpal
Дата сообщения: 19.08.2016 11:57
Mavrikii

Цитата:
когда вы на что то жмете, событие нажатия идет от элемента к его родителю и выше, если не остановлено. мне нужно видеть и попробовать, чтобы сказать в чем причина.

Ну я привел код кнопки - обычный submit как видите, по его нажатию отправляется форма на сервер.
Форму также можно отправить на сервер через $('#name-form').submit(); - я проверял. А по клику нельзя - сдается мне это ограничение именно системы.

Добавлено:
Mavrikii

Цитата:
мне нужно видеть и попробовать, чтобы сказать в чем причина.

Нет, я конечно могу все предоставить, если хотите проверить. CMS Drupal7 нулевый ставите, пару стандартных модулей и тд, дальше могу написать, че куда поставить.

Страницы: 12345678910111213141516171819202122

Предыдущая тема: jQuery: Перемещение якоря на верх страницы


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.