<html>

<head>

<script src='selectcustomer.js'></script>

</head>

<body>

<form>

Выберите заказчика:

<select name='customers' onchange='showCustomer(this.value)'>

<option value='ALFKI'>Alfreds Futterkiste

<option value='NORTS '>North/South

<option value='WOLZA'>Wolski Zajazd

</select>

</form>

<p>

<div id='txtHint'><b>Информация о заказчике будет выводиться здесь.</b></div>

</p>

</body>

</html>

Как можно видеть, это просто форма HTML с раскрывающимся списком с названием 'customers'.

Параграф ниже формы содержит тег div с именем 'txtHint'. Тег div используется в качестве поля для заполнения получаемой с Web-сервера информацией.

Когда пользователь выбирает данные (имя заказчика), выполняется функция 'showCustomer()'. Выполнение функции запускается событием 'onchange'. Другими словами, каждый раз, когда пользователь изменяет значение в поле раскрывающегося списка, вызывается функция showCustomer.

Код JavaScript показан далее.

Следующий далее код JavaScript находится в файле 'selectcustomer.js':

var xmlHttp

function showCustomer(str)

{

xmlHttp=GetXmlHttpObject()

if (xmlHttp==null)

{

alert ('Браузер не поддерживает запросы HTTP')

return

}

var url='getcustomer.asp'

url=url+'?q='+str

url=url+'&sid='+Math.random()

xmlHttp.onreadystatechange=stateChanged

xmlHttp.open('GET',url,true)

xmlHttp.send(null)

}

function stateChanged()

{

if (xmlHttp.readyState==4 || xmlHttp.readyState=='complete')

{

document.getElementById('txtHint').innerHTML=xmlHttp.responseText

}

}

function GetXmlHttpObject()

{

var objXMLHttp=null

if (window.XMLHttpRequest)

{

objXMLHttp=new XMLHttpRequest()

}

else if (window.ActiveXObject)

{

objXMLHttp=new ActiveXObject('Microsoft.XMLHTTP')

}

return objXMLHttp

}

Серверная страница, вызываемая сценарием JavaScript, является просто файлом ASP file с именем 'getcustomer.asp'.

Страница написана на VBScript для Информационного сервера Интернет (IIS). Ее можно легко переписать на PHP, или любой другой серверный язык.

Код выполняет команды SQL на базе данных и возвращает результат в виде таблицы HTML:

sql='SELECT * FROM CUSTOMERS WHERE CUSTOMERID='

sql=sql & request.querystring('q')

set conn=Server.CreateObject('ADODB.Connection')

conn.Provider='Microsoft.Jet.OLEDB.4.0'

conn.Open(Server.Mappath('/db/northwind.mdb'))

set rs = Server.CreateObject('ADODB.recordset')

rs.Open sql, conn

response.write('<table>')

do until rs.EOF

for each x in rs.Fields

response.write('<tr><td><b>' & x.name & '</b></td>')

response.write('<td>' & x.value & '</td></tr>')

next

rs.MoveNext

loop

response.write('</table>')

AJAX можно использовать для интерактивного взаимодействия с файлом XML.

В следующем далее примере приложения AJAX показано, как Web-страница может извлекать

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату