Добрый день уважаемые форумчане. Буду очень признателен если подскажите решение двух простых, но и назойливых проблем. В кодинге я понимаю плохо, только учусь.
Вопрос:
Есть скрипт поиска по обычному хмтл документу:
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=cp1251">
<title>Activities List</title>
<script type="text/javascript" src="js_libs/prototype/prototype.min.js"><!-- // --></script>
<style type="text/css">
td
{
border : 1px solid red;
}
</style>
<script type="text/javascript">
function getUnicodeJSONMap()
{
var map = "{";
var keys = new Array();
var start = parseInt("410",16);
var finish = parseInt("44F", 16);
for(var i = start; i < finish+1; i++)
{
keys[i]= "\'\\u0" + ((i).toString(16))+"\'";
map += "\"\\u0" + ((i).toString(16)) +"\":\"&#"+i+";\"";
if(i != finish)
{
map+=",";
}
}
return { aMap : map+ "}", aKeys : keys, aStart : start, aFinish : finish};
}
String.prototype.replaceAll = function(search, replace){
return this.split(search).join(replace);
}
function getStringToFindIn(stringToFindIn)
{
var result = stringToFindIn;
var res = getUnicodeJSONMap();
var map = eval('('+res.aMap+')');
var keys=res.aKeys;
for (i = res.aStart; i< res.aFinish +1; i++)
{
result = result.replaceAll(""+keys[i].replaceAll("'", "")+"",""+eval(keys[i])+"");
}
return result;
}
function findText()
{
var neededUrl = "testHtmlWithData.html";
new Ajax.Request(neededUrl,
{
method: 'get',
encoding : "UTF-8",
onSuccess: function(transport){
var responseHTML = transport.responseText;
var tableId = "firstTableToFindIn";
var divToSearchIn = document.getElementById("divToSearchIn");
divToSearchIn.innerHTML = responseHTML;
var tableToFindIn = document.getElementById(tableId);
var trs = tableToFindIn.getElementsByTagName("tr");
var resultTable = document.createElement("div");
var stringToBeFound = document.getElementById("textToFind").value;
for(var i = 0 ; i < trs.length; i++)
el = document.getElementById('textToFind');
if (el.value == '') {
alert('Бля, ну лень написать что ли ?');
}
{
var entered = false;
var tr = trs[i];
var tds = tr.getElementsByTagName("td");
for(var k = 0 ; k < tds.length; k++)
{
var td = tds[k];
var stringToFindIn = getStringToFindIn(td.innerHTML);
var found = stringToFindIn.search(stringToBeFound);
if(found != -1)
{
entered = true;
}
}
if(entered){
var newTr = document.createElement("div");
newTr.style.display = "inline";
for(var k = 0 ; k < tds.length; k++)
{
var td = tds[k];
var newTd = document.createElement("div");
newTd.innerHTML = getStringToFindIn(td.innerHTML);
newTd.style.display = "block";
newTr.appendChild(newTd);
}
resultTable.appendChild(newTr);
}
}
var resultDiv = document.getElementById("result");
if(resultTable.hasChildNodes())
{
resultTable.style.border = "1px solid green";
resultDiv.innerHTML = "";
var headerDiv = document.createElement("div");
headerDiv.innerHTML = "<b>Результат поиска:</b>";
resultDiv.appendChild(headerDiv);
resultDiv.appendChild(resultTable);
resultDiv.style.display = "block";
}else
{
resultDiv.style.display = "none";
}
},
onFailure: function(){
//
},
onException: function(){
//
}
});
}
</script>
</head>
<body>
<div id="divToSearchIn" style="display: none;"></div>
<div id="result" style="display: none;"></div>
<div>
<input type="text" id="textToFind" value="2"/>Text To Find
</div>
<span id="testP"></span>
<input type="button" onclick="findText();" value="FIND!"/>
</body>
</html>
Подскажите пожалуйста, как сделать вывод ошибки, в случае если поле для поиска не заполнено и если ничего не найдено. Буду очень благодарен!
Заранее большое спасибо!