Код только для справки.
Кода -копия выглядит следующим образом:
// Запросить данные базы данных, которые соответствуют критериям
функция SelectAlternativeVenues (поле)
{
var xmlhttp;
var pid = document.getElementById ("nameAndaddress"). value;
var url = "$ {retriveUrl}? accostortype = $ {accessortype}";
url = url+"& method = retrieveselectrectult & nameandaddress ="+escape (pid);
if (window.xmlhttprequest)
{
xmlhttp = new xmlhttprequest ();
}
иначе if (window.activexobject)
{
xmlhttp = new ActivexObject ("microsoft.xmlhttp");
}
if (xmlhttp! = null)
{
xmlhttp.open ("Get", url, true);
xmlhttp.setrequestheader ("if-modified-since", "0");
xmlhttp.send (null);
xmlhttp.onreadystatechange = function processrefreshusers () // Метод регистрации
{
if (xmlhttp.readystate == 4)
{
if (xmlhttp.status == 200)
{
// responsexml получает возвращаемое значение выполненного метода поиска
var dataS = xmlhttp.responsexml.documentelement.getelementsbytagname ("alternativevenues");
var nname = document.getElementById ("table1");
var pchildren = nname.childnodes; // очистить строки и столбцы в таблице
для (var a = 0; a <pchildren.length; a ++)
{
nname.removechild (pChildren [a]);
}
// Добавить линию запроса
var aarow = nname.insertrow (0);
var aacell = aarow.insertcell (0);
aacell.innerhtml = "<input type = 'text' name = 'nameandaddress' id = 'nameandaddress'/>";
aarow.insertcell (1) .innerhtml = "<span style =/" cursor: pointer; граница: 1px/"name =/" opper/"onclick =/" selectAlternativevenues ('"+field+"');/"> Query </span> ";
// Добавить строку заголовка
var arow = nname.insertrow (1);
arow.insertcell (0) .innerhtml = "";
arow.insertcell (1) .innerhtml = "name";
arow.insertcell (2) .innerhtml = "адрес";
AROW.INSERTCELL (3) .INNERHTML = "TELECTRONIC";
// цикл добавить строки данных
для (i = 0; i <datas.length; i ++)
{
var id = datas [i] .getElementsbytagname ("id") [0] .firstchild.nodevalue;
var name = data [i] .getElementsbytagname ("name") [0] .firstchild.nodevalue;
var address = data [i] .getElementsbytagname ("адрес") [0] .firstchild.nodevalue;
var phone = data [i] .getElementsbytagname ("phone") [0] .firstchild.nodevalue;
var anewrow = nname.insertrow (i+2);
anewrow.insertcell (0) .innerhtml = "<input type =/" checkbox/"id =/" alternativevenues _ "+id+"/"name =/" alternativevenues _ "+id+"/"onclick =/" addrowSelectafter ('alternativeVenues_ " +Id+"','"+field+"') /" /> ";
anewrow.insertcell (1) .innerhtml = name;
anewrow.insertcell (2) .innerhtml = адрес;
anewrow.insertcell (3) .innerhtml = телефон;
}
}
}
}
}
}
// Добавить выбранные данные
Функция addRowsElectafter (id, поле)
{
// Разделите все идентификаторы в скрытом домене и связывают соответствующую проверку
var State = false; // Судить, существует ли следующий список
var _hiddenid = document.getElementByid (Field) .value.substr (0, document.getElementById (Field) .value.length-1) .split (',');
for (j = 0; j <_hiddenid.length; j ++)
{
if (_hiddenid [j] == id.split ('_') [1])
{
State = true;
}
}
if (состояние == false)
{
// просто нажмите на флажок и начните изменить значение скрытого домена один раз
// не выбранное состояние требует удаления идентификатора из скрытого контроля
var arrrs = document.getElementbyid (field) .value.substr (0, document.getElementById (Field) .value.length-1) .split (',');
// Определите поле для повторного идентификатора
var newsid = "";
для (var arr = 0; arr <arrs.length; arr ++)
{
if (arrs [arr]! = id.split ('_') [1])
Newids+= arrs [arr]+",";
}
// Еще раз назначить скрытый контроль
// последний персонаж может быть,
var fh = newids.substr (newids.length-1, newids.length);
if (fh == ",")
document.getElementById (поле) .value = newIDS.Substr (0, newids.length-1);
еще
Document.GetElementByID (Field) .Value = NewIDS;
if (document.getElementbyId (id). Проверенный == false)
{
// Нажмите, чтобы изменить статус без точки, чтобы удалить выбранные места
document.getElementById (id) .Checked = false;
// Установите идентификатор для TR, чтобы удалить TR
document.getElementbyId ("table2"). DeleteRow (document.getElementById ("newRow _"+id.split ('_') [1]). Rowindex);
}
еще
{
document.getElementById (id) .Checked = true;
var input = document.getElementbyId (Field);
var xmlhttp;
var url = "$ {retriveUrl}? accostortype = $ {accessortype}";
url = url+"& method = selectresult & id ="+id;
if (window.xmlhttprequest)
{
xmlhttp = new xmlhttprequest ();
}
иначе if (window.activexobject)
{
xmlhttp = new ActivexObject ("microsoft.xmlhttp");
}
if (xmlhttp! = null)
{
xmlhttp.open ("Get", url, true);
xmlhttp.setrequestheader ("if-modified-since", "0");
xmlhttp.send (null);
xmlhttp.onreadystatechange = function processrefreshusers () // Метод регистрации
{
if (xmlhttp.readystate == 4)
{
if (xmlhttp.status == 200)
{
// responsexml получает возвращаемое значение выполненного метода поиска
var dataS = xmlhttp.responsexml.documentelement.getelementsbytagname ("alternativevenues");
var nname = document.getElementbyId ("table2");
nname.style.width = "560px";
if (nname.rows.length == 0 && datas.length> 0)
{
// первая строка
var firstrow = nname.insertrow (0);
firstrow.id = "newrow_0";
firstrow.insertcell (0) .innerhtml = "name";
firstrow.insertcell (1) .innerhtml = "адрес";
firstrow.insertcell (2) .innerhtml = "Delectronic";
firstrow.insertcell (3) .innerhtml = "Операция";
}
для (i = 0; i <datas.length; i ++)
{
var id = datas [i] .getElementsbytagname ("id") [0] .firstchild.nodevalue;
var name = data [i] .getElementsbytagname ("name") [0] .firstchild.nodevalue;
var address = data [i] .getElementsbytagname ("адрес") [0] .firstchild.nodevalue;
var phone = data [i] .getElementsbytagname ("phone") [0] .firstchild.nodevalue;
var anewrow = nname.insertrow (nname.rows.length);
anewrow.id = "newrow _"+id;
var onecell = anewrow.insertcell (0);
onecell.innerhtml = name;
OneCell.width = 140;
var twocell = anewrow.insertcell (1);
twocell.innerhtml = адрес;
Twocell.width = 280;
var threecell = anewrow.insertcell (2);
threecell.innerhtml = телефон;
Threecell.width = 100;
var fourcell = anewrow.insertcell (3);
fourcell.innerhtml = "<span id =/" span _ "+id+"/"onclick =/" deleterow ('"+id+"', this, '"+field+"')/"> delete </span>";
fourcell.width = 40;
if (input.value! = "")
input.value+= ",";
input.value+= id;
}
}
}
}
}
}
}
}
Функция Deleterow (id, OBJ, Field)
{
obj.parentnode.parentnode.parentnode.removechild (obj.parentnode.parentnode)
var nname = document.getElementById ("table2");
if (nname.rows.length == 1)
{
nname.deleterow (0);
}
// ситуация в приведенном выше списке после того, как запрос был сохранен в базе данных
if (document.getElementById ("AlternativeVenues _"+id)! = null || document.getElementById ("AlternativeVenues _"+ID)! = Не определено)
{
if (document.getElementbyId ("Alternativevenues _"+id). Провернут == true)
{
document.getElementbyId ("AlternativeVenues _"+id) .CHECKED = false;
}
}
// не выбранное состояние требует удаления идентификатора из скрытого контроля
var arrrs = document.getElementbyid (field) .value.substr (0, document.getElementById (Field) .value.length-1) .split (',');
// Определите поле для повторного идентификатора
var newsid = "";
для (var arr = 0; arr <arrs.length; arr ++)
{
if (arrs [arr]! = id)
Newids+= arrs [arr]+",";
}
// Еще раз назначить скрытый контроль
// Еще раз назначить скрытый контроль
// последний персонаж может быть,
var fh = newids.substr (newids.length-1, newids.length);
if (fh == ",")
{
document.getElementById (поле) .value = newIDS.Substr (0, newids.length-1);
}
еще
Document.GetElementByID (Field) .Value = NewIDS;
}