| 1 |
function ajaxSelect(id) { var element = document.getElementById(id) |
| 2 |
var onLoaded = function(data) { var i=0 for(var key in data) { var label = data[key] element.options[i++] = new Option(label, key) } } |
| 3 |
var onLoadError = function(error) { var msg = "Ошибка "+error.errcode if (error.message) msg = msg + ' :'+error.message alert(msg) } |
| 4 |
var showLoading = function(on) { element.disabled = on } |
| 5 |
var onSuccess = function(data) { if (!data.errcode) { onLoaded(data) showLoading(false) } else { showLoading(false) onLoadError(data) } } |
| 6 |
var onAjaxError = function(xhr, status){ showLoading(false) var errinfo = { errcode: status } if (xhr.status != 200) { // может быть статус 200, а ошибка // из-за некорректного JSON errinfo.message = xhr.statusText } else { errinfo.message = 'Некорректные данные с сервера' } onLoadError(errinfo) } |
| 7 |
return { load: function(url) { showLoading(true) |
| 8 |
while (element.firstChild) { element.removeChild(element.firstChild) } |
| 9 |
$.ajax({ // для краткости - jQuery url: url, dataType: "json", success: onSuccess, error: onAjaxError, cache: false }) } } } |
| 10 |
<p>Нажмите одну из кнопок для вызова функции с аргументами</p> |
| 11 |
<button onclick="myFunction('Никита','Васичкин')">Для Никиты</button> <button onclick="myFunction('Сергей','Пупкин')">Для Сергея</button> |
| 12 |
<script> function myFunction(name,job) { alert("Привет! " + name + " " + job); } </script> |
| 13 |
<script> function changeImage() { element=document.getElementById('myimage') if (element.src.match("star-bath")) { element.src="images/star-first.png"; } else { element.src="images/star-bath.png"; } } </script> |
| 14 |
<p>Нажмите на звезду, и изображение изменится!</p> |
| 15 |
<img id="myimage" onclick="changeImage()" src="images/star-first.png" width="256" height="256"> |
Комментарии