- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Только начал изучать JavaScript. Задача в следующем, на странице сайта есть кнопка удаление записи из таблицы mysql. Мне нужно, при нажатии на эту кнопку, чтобы всплывало окно подтверждения удаления с двумя кнопками Да и Нет. Если нажимаю ДА идет отправка на сервер и запись удаляется, если кликаю НЕТ - отправка на сервер не осуществляться и всплывающие окно исчезает.
Вот написал такой код:
Вот HTML и CSS
При нажатии кнопки Delete все нормально работает - всплывает окно с кнопками да и нет. Но при нажатии на эти кнопки ничего не происходит(. Подскажите где ошибки пожалуйста.
Мне бы узнать как определить через JS факт нажатия на ту или иную кнопку окна. И от этого плясать дальше
Эм... а добавить просто onclick="blabla();" к кнопке и прописать там нужную функцию для исполнения?
Там же можно и ID передать, кстати.
Собственный confirm может работать только через callback функции.
---------- Добавлено 23.06.2015 в 06:48 ----------
Примерно вот так, по вашему исходнику
---------- Добавлено 23.06.2015 в 06:58 ----------
Пояснения новичку. var Confirm=(function(){})(); - такая конструкция запускает безымянную функцию непосредственно сразу после того как интерпретатор отпарсит ее текст. Безымянная функция возвращает closure-функцию - то есть функцию из своего внутреннего scope. Так на js вообще делаются объекты с приватными свойствами и методами и публичными свойствами и методами. Все что до return - приват, все что внутри return - паблик. В данном случае это - функция. Это значит что Confirm будет функцией которая "знает" про все приватные свойства и методы которые больше никому не видны кроме нее. Функция Confirm имеет 3 аргумента - сообщение, которое названо заголовок диалога и 2 калбека. Ни один не обязательный. То есть можете юзать ее как алерт в том числе, но кнопок будет 2. На каждую команду требуется передать функцию из контекста вызова конфирма. Это может быть обычная функция с именем - второй пример, или безымянная как в первом примере.
---------- Добавлено 23.06.2015 в 07:14 ----------
Да, строчка
dlg.addEventListener('click',function(e){e.stopPropagation});
нужна если ваши диалоги исчезают автоматически при щелчке куда-то кроме самого диалога. Это делается через поиск элементов с заранее согласованным именем класса по щелчку на body.
kostyanet, Спасибо за функцию, но хотелось бы использовать способ полного разделения, без использования в коде HTML кода JS. То есть по определенным id элементов, отдельно в js-файле строится сценарий. Возможно ли так сделать?
Ну повешайте на load документа этот кусок где Confirm определяется. Или надо его переписать чтобы он сам по load инициализировался.
Тогда у меня свой вопрос - вы же новичок, да? Кто вас научил этой ереси - избегать js в хтмле? Тем самым вы сильно будете осложнять жизнь. Посмотрите как устроена страница на сайте google.com и убедитесь что в лучших доман Ландона js находится именно в хтмле и именно там, где нужен.
---------- Добавлено 23.06.2015 в 07:45 ----------
Хорошо, вот такой пример. Допустим у вас есть тележка - список заказов. Коню ясно что обновляется она через js. Ну да, вы можете по кукам ее сразу сгенерить с сервера, для начала. А можете не генерить, ибо куки - те же самые на клиенте. Но тогда обновить элемент вы должны как только так сразу, иначе получится что страница загрузится, а список все еще пуст, потом бамц - появилось. Только положив js сразу за хтмлей корзины вы можете ее обновить немедленно.
---------- Добавлено 23.06.2015 в 08:41 ----------
Для самоинициализации делается так, по простому: