Vanav Thoughts
Войти [?login] ¦ students.in.ua The Thoughts Молчание - золото. Не трать его по пустякам. (А Кнышев) . Главная > Категория На этой странице показанны сообщения из одной категории. Самые новые сверху . Vanav 4 месяца назад, 9:44 Категории Программинг > JavaScript Файлы example.zip (2 КБ) Простейший AJAX с большой совместимостью Итак, мы хотим послать небольшую строчку на сервер, получить от сервера ответ и показать пользователю. Что-то похожее на AJAX, но как можно проще, без килобайтных библиотек, вопросов совместимости и изучения XML-парсеров разных браузеров. Более того, хотелось бы чтобы способ был совместим с как можно большим числом браузеров, и занял не больше 10 минут на написание с нуля. Наше решение будет совместимо с IE5.0+, Mozilla 1.7+, FireFox 1.0+ и Opera 7.3+. Например, понадобилось сделать быструю проверку введённого почтового адреса пользователя в базе на сервере, и если такой адрес существует — сообщить об ошибке. Но открывать для этого каждый раз новую страницу очень не хотелось бы: во-первых, адресов может быть много, и это долго, во-вторых, это прервёт заполнение формы, и придётся вернуть форму пользователю целиком. Итак, начнём с кода. Страница, с которой происходит запрос. Здесь расположена форма, которую заполняет пользователь: default.asp:
Тест Скрипт, который получает своим аргументом проверяемый адрес, и отвечает посредством создания JavaScript кода: tester.asp: <%@LANGUAGE = JScript %> <% var email = decodeURI(Request.QueryString("email")); // Здесь можно добавить проверку на уникальность адреса в базе пользователей var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if (filter.test(email)) msg = "Правильный адрес."; else msg = "Неправильный адрес!"; Response.Write('document.getElementById("result").innerHTML = "' + msg + '"'); %> Обратим внимание, что первый скрипт может быть простым HTML, без ASP или PHP. Второй же скрипт может быть на любом серверном языке ASP или PHP, но возвращать в браузер должен синтаксически правильный JavaScript. Собственно, послеполучения ответа браузер этот JavaScript и будет исполнять. В нашем примере после нажатия кнопки создаётся новый невидимый элемент span в конце документа, в него добавляется script и источником JS-скрипта ставится ASP или PHP скрипт на сервере. Этому скрипту на сервере передаётся интересующий нас аргумент, он его проверяет, и выдаёт ответ в виде правильного JavaScript. Браузер не замечает, что работал скрипт на сервере, и получает сразу правильный JavaScript, который тут же и исполняет. Итак, применять это можно в тех случаях, когда нужен простой и быстрый AJAX, в то же время максимально совместимый. Собственно, простота и совместимость — его главное преимущество перед XMLRequest. Начальная идея — dklab, за что огромное спасибо. Комментировать Vanav 7 месяцев назад, 9:20 Категории Программинг > JavaScript Подтверждение действий Пользователь любит кликать. Если сделать кнопку с большой надписью " Не нажимать! ", она будет нажата первой. Поэтому на критические действия вроде удаления файлов нужно ставить подтверждения. Рассмотрим, как это можно проще всего сделать на JavaScript:
Удалить confirm() выведет стандартное диалоговое окно Windows, на котором на будет две кнопки: OK и Отмена (язык надписей соответствует языку Windows). В сообщении чётко указывается два момента: что именно будет удалено. Пользователь должен проверить, то ли он на самом деле удаляет; чёткий короткий вопрос, который подразумевает однозначный ответ. Если JavaScript будет отключён у пользователя, ссылка всё-равно будет работать, правда без подтверждения. Но поскольку процент таких пользователей мал, это допустимо. Комментировать Календарь декабрь 2006 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 << >> показываются, сегодня Категории PocketPC О сайте Программинг ASP JavaScript MS SQL Показать все Действия Последние изменения на сайте Наш код © Иван Ванюшкин "Vanav"