По поводу отображения разобрался, только не понял почему такой способ в IE показывает результат только одну строчку...
код:
function search(frm) {
txt = frm.srchval.value.split(" ");
fnd = new Array(); total=0;
for (i = 0; i < item.length; i++) {
fnd[i] = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")
fnd[i] += (j+1);
}
for (i = 0; i < fnd.length; i++) {
n = 0; w = -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, n);
fnd[w] = 0;
}
document.getElementById('rez').innerHTML ="По вашему запросу найдено: "+total+" страниц";
total +=total;
}
//----------------------------->
function show(which,num) {
link = item[which][1] + item[which][0];
line ="<br>Link: <a href='"+link+"'>"+item[which][2]+"</a><br>Описание: "+item[which][4] + "<br>";
line +="<div id='koncovka' align='center'>найдено: ("+num+") совпадений</div><br>";
document.getElementById('itog').innerHTML +=line;
return 1;
}
А в этом способе все нормально:
function search(frm) {
txt = frm.srchval.value.split(" ");
fnd = new Array(); total=0;
for (i = 0; i < item.length; i++) {
fnd[i] = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")
fnd[i] += (j+1);
}
for (i = 0; i < fnd.length; i++) {
n = 0; w = -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, n);
fnd[w] = 0;
}
document.getElementById('rez').innerHTML ="По вашему запросу найдено: "+total+" страниц";
total +=total;
}
//----------------------------->
function show(which,num) {
link = item[which][1] + item[which][0];
line1 ="<br>Link: <a href='"+link+"'>"+item[which][2]+"</a><br>Описание: "+item[which][4] + "<br>";
line2 ="<div id='koncovka' align='center'>найдено: ("+num+") совпадений</div><br>";
document.getElementById('itog').innerHTML +=line1+line2;
return 1;
}
Кто нибудь зает как сделать очистку результата?!
Пытался делать так, как в AS2, очистить форму:
document.getElementById('itog').innerHTML ="";
но не получилось.