Код XML-запроса asp не обновляет страницу. Метод реализации запроса следующий:
<html>
<голова>
<title>Как сделать запрос, не обновляя страницу</title>
<meta http-equiv=Content-Type content=text/html charset=gb2312>
</голова>
<язык сценария=javascript>
<!--Инициализация, загрузка данных из острова данных в поле списка-->
функция loadinsel()
{
var сотрудника,employeelastname //Сохраняем идентификатор сотрудника и имя сотрудника соответственно;
root=document.all.xmlemployees.childNodes.item(0); //Вернем первый элемент — сотрудник
for(i=0;i<root.childNodes.length;i++){
getnode=root.childNodes(i); //Получаем дочерний узел сотрудника
сотрудникид=root.childNodes(i).getAttribute(emid);//Получить идентификатор сотрудника
for(j=0;j<getnode.childNodes.length;j++){
сотрудникinf = getnode.childNodes (j).nodeName;
if(employeeinf==фамилия){
сотрудниковlastname=getnode.childNodes(j).text //Получить имя сотрудника
}
}
//Записываем полученные идентификатор и фамилию сотрудника в select
if(employeeid!= && фамилия сотрудника!=){
option1=document.createElement(опция);
option1.text=фамилия сотрудника;
option1.value = идентификатор сотрудника;
список сотрудников.добавить (вариант1);
}
}
}
<!--Инициализация, получение данных из острова данных и загрузка их в окно списка-->
функция findemployee(){
var сотрудника, сотрудника // Сохраняем имя и идентификатор сотрудника соответственно;
фамилия сотрудника =;
идентификатор сотрудника =;
findtext=window.findcontent.value //Получаем условия поиска;
//Очищаем список
сотрудниковcount=employeelist.length
for(i=employeecount-1;i>=0;i--){
список сотрудников.удалить (я);
}
корень = window.xmlemployees.childNodes (0);
for(i=0;i<root.childNodes.length;i++){
getitem=root.childNodes(i); //Получаем дочерний узел сотрудника
сотрудникид = root.childNodes(i).getAttribute(emid); //Получить идентификатор сотрудника
for(j=0;j<getitem.childNodes.length;j++){
if(getitem.childNodes(j).nodeName==фамилия){
работник_темп = getitem.childNodes (j). текст;
if(employee_temp.indexOf(findtext)!=-1){ //Находим совпадающие элементы
сотрудниковlastname=employee_temp; //Найти сотрудников с совпадающими именами;
}
}
}
//Записываем информацию о квалифицированном сотруднике в select
if(employeeid!= && фамилия сотрудника!=){
option1=document.createElement(опция);
option1.value = идентификатор сотрудника;
option1.text=фамилия сотрудника;
window.employeelist.add(опция1);
идентификатор сотрудника =;
фамилия сотрудника =;
}
}
}
</скрипт>
<body bgcolor=#FFFFFF text=#000000 onload=javascript:loadinsel()>
<ширина таблицы=80% граница=1>
<тр>
<td> Введите условия запроса:
<тип ввода=имя текста=найти контент>
<тип ввода=имя кнопки=Отправить значение=Найти onclick=javascript:findemployee()>
</td>
</tr>
<тр>
<td> результаты запроса:
<выберите имя=список сотрудников>
</выбрать>
</td>
</tr>
</таблица>
<?xml версия=1.0 кодировка=gb2312?>
<%
servername=wyb 'Имя сервера
user=sa 'имя пользователя
pw= 'Пароль пользователя
Databasename=northwind 'имя базы данных
set conn=server.CreateObject(adodb.connection)
conn.Open DRIVER=SQL Server;SERVER=&имя_сервера&;UID=&пользователь&;pwd=&pw&;DATABASE=&имя_базы_данных
установите rs=server.CreateObject(adodb.recordset)
sql=Выберите идентификатор сотрудника и фамилию из списка сотрудников по идентификатору сотрудника
rs.Open sql,conn%>
<!--Поместите информацию из базы данных в остров данных-->
<xml id=xmlemployees>
<сотрудник>
<%do, пока не rs.eof%>
<employeeitem emid=<%=rs(employeeid)%>>
<lastname><%=rs(lastname)%></lastname>
</employeitem>
<%rs.movenext%>
<%цикл%>
</сотрудник> </xml>
<%rs.close
установить rs=ничего
%>
</тело>
</html>
Используйте функцию ASP instr(), чтобы определить, содержит ли строка указанную строку.
<%
Тусклый wstr1, wstr2
wstr1=привет, мир!
wstr2=о
если instr(wstr1,wstr2)>0, то
response.write(&wstr2& существует в &wstr1&)
еще
response.write(&wstr1& не содержит &wstr2&)
конец, если
%>
-------------------
Функция ИнСтр
-------------------
InStr([начало, ]строка1, строка2[, сравнение])
【параметр】
Синтаксис функции InStr имеет следующие параметры:
часть
иллюстрировать
начинать
Необязательные параметры. Для числового выражения задает начальную точку для каждого поиска. Если опущено, начинается с первой позиции символа. Если start содержит Null, произойдет ошибка. Если указан параметр сравнения, должен присутствовать параметр start.
строка1
Обязательные параметры. Принимает строковое выражение для поиска.
строка2
Обязательные параметры. Строковое выражение, которое необходимо найти.
Сравнивать
Необязательные параметры. Укажите сравнение строк. Если значение сравнения равно нулю, произойдет ошибка. Если параметр сравнения опущен, тип сравнения определяется параметром Option Compare.
Параметр ?compare имеет значение:
постоянный
ценить
【описывать】
vbUseCompareOption
-1
Используйте настройку оператора Option Compare для выполнения сравнения.
vbBinaryCompare
0
Выполните бинарное сравнение.
vbTextCompare
1
Выполните текстовое сравнение.
vbDatabaseCompare
2
Только для Microsoft Access: выполняет сравнение на основе информации в базе данных.
【возвращаемое значение】
Возвращает 0, 1, 2, -1 или ноль и т. д.
【Исключение/ошибка】
никто
ОписаниеInStr([начало, ]строка1, строка2[, сравнение])
Возвращает первое вхождение указанной строки в другую строку. В строке string1 искать строку2, начиная с начала. Если значение start опущено, искать с начала строки1. Если функция не найдена, значение функции равно 0.
если
InStrвозврат
string1 имеет нулевую длину
0
строка1 равна нулю
Нулевой
string2 имеет нулевую длину
Начинать
строка2 равна нулю
Нулевой
строка2 не найдена
0
Найти строку2 в строке1
местоположение найдено
начало > строка2
0
【Пример】
В этом примере функция InStr используется для поиска первого вхождения строки в другую строку.
Тусклая строка поиска, SearchChar, MyPos
SearchString =XXpXXpXXPXXP ' Искомая строка.
SearchChar = P 'Для поиска строки P.
' Начиная с четвертого символа, поиск по сравнению текста. Возвращаемое значение — 6 (строчная p).
' Нижний регистр p и верхний регистр P одинаковы при сравнении текста.
MyPos = Instr(4, SearchString, SearchChar, 1)
'Начиная с первого символа, поиск с использованием двоичного сравнения. Возвращаемое значение — 9 (заглавная P).
' Строчные p и прописные P различаются при двоичном сравнении.
MyPos = Instr(1, SearchString, SearchChar, 0)
'Метод сравнения по умолчанию - двоичное сравнение (последний параметр можно опустить).
MyPos = Instr(SearchString, SearchChar) ' Возврат 9.
MyPos = Instr(1, SearchString, W) ' Возвращает 0.