JavaScript. Подробное руководство, 6-е издание
Шрифт:
// Если броузер поддерживает localStorage и имеются сохраненные данные
if (window.localStorage && localStorage.loan_amount) {
document.getElementById("amount").value = localStorage.loan_amount;
document.getElementById("apr").value = localStorage.loan_apr;
document.getElementById("years").value = localStorage.loan_years;
document.getElementById("zipcode").value = localStorage.loan_zipcode;
}
};
// Передать ввод пользователя серверному сценарию, который может (теоретически) возвращать
// список ссылок на сайты местных кредитных учреждений, готовых предоставить кредит.
// Данный пример не включает фактическую реализацию такого сценария поиска кредитных
// учреждений. Но если такой сценарий уже имеется, данная функция могла бы работать с ним.
function getLenders(amount, apr, years, zipcode) {
// Если броузер не поддерживает объект XMLHttpRequest, не делать ничего
if (!window.XMLHttpRequest) return;
// Отыскать элемент для отображения списка кредитных учреждений
var ad = document.getElementById("lenders”);
if (!ad) return; // Выйти, если элемент отсутствует
// Преобразовать ввод пользователя в параметры запроса в строке URL
var url = "getLenders.php" + // Адрес URL службы плюс
"?amt=" + encodeURIComponent(amount) + // данные пользователя
"&apr=" + encodeURIComponent(apr) + //в строке запроса
"&yrs=" + encodeURIComponent(years) +
"&zip=" + encodeURIComponent(zipcode);
// Получить содержимое по заданному адресу URL с помощью XMLHttpRequest
var req = new XMLHttpRequest; // Создать новый запрос
req.open("GET", url); // Указать тип запроса HTTP GET для url
req.send(null); // Отправить запрос без тела
// Перед возвратом зарегистрировать обработчик события, который будет вызываться
// при получении HTTP-ответа от сервера. Такой прием асинхронного программирования
// является довольно обычным в клиентском JavaScript,
req.onreadystatechange = function {
if (req.readyState == 4 && req.status == 200) {
// Если мы попали сюда, следовательно, был получен корректный НТТР-ответ
var response = req.responseText; // HTTP-ответ в виде строки
var lenders = JSON.parse(response); // Преобразовать в JS-массив
// Преобразовать массив объектов lender в HTML-строку
var list = "";
for(var і = 0; і < lenders.length; i++) {
list += "<li><a href=' " + lenders[i].url + " '>"+
lenders[i].name + "</a>";
}
// Отобразить полученную HTML-строку в элементе,
// ссылка на который была получена выше.
ad.innerHTML = "<ul>" + list + "</ul>";
}
}
}
// График помесячного изменения остатка по кредиту, а также графики сумм,
// выплачиваемых в погашение кредита и по процентам в HTML-элементе <canvas>.
// Если вызывается без аргументов, просто очищает ранее нарисованные графики,
function chart(principal, interest, monthly, payments) {
var graph = document.getElementById("graph"); // Ссылка на тег <canvas>
graph.width = graph.width; // Магия очистки элемента canvas
// Если функция вызвана без аргументов или броузер не поддерживает
// элемент <canvas>, то просто вернуть управление,
Поделиться:
Популярные книги
Законы Рода. Том 6
6. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
An ordinary sex life
Любовные романы:
современные любовные романы
love action
5.00
рейтинг книги
Путёвка в спецназ
1. Мажор
Фантастика:
боевая фантастика
7.55
рейтинг книги
Тактик
2. Офицер
Фантастика:
альтернативная история
7.70
рейтинг книги
Правильный лекарь. Том 7
7. Неправильный лекарь
Фантастика:
городское фэнтези
аниме
попаданцы
5.00
рейтинг книги
Шайтан Иван 6
6. Шайтан Иван
Фантастика:
попаданцы
альтернативная история
историческое фэнтези
7.00
рейтинг книги
Ненаглядная жена его светлости
Любовные романы:
любовно-фантастические романы
6.23
рейтинг книги
Идеальный мир для Лекаря 20
20. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Черный Маг Императора 8
8. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Студиозус
3. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Вперед в прошлое 5
5. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Двойник Короля 8
8. Двойник Короля
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Снайпер
3. Жнец
Фантастика:
боевая фантастика
попаданцы
5.60
рейтинг книги
Моров. Том 8
7. Моров
Фантастика:
альтернативная история
аниме
фэнтези
попаданцы
5.00