Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2009, 12:47   #1
pgerasimov
Новичок
Джуниор
 
Регистрация: 11.08.2009
Сообщений: 1
По умолчанию Ограничение ввода данных в поле

Добрый день уважаемые форумчане. Буду очень признателен если подскажите решение двух простых, но и назойливых проблем. В кодинге я понимаю плохо, только учусь.

Вопрос:

Есть скрипт поиска по обычному хмтл документу:

Код:
<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>
Подскажите пожалуйста, как сделать вывод ошибки, в случае если поле для поиска не заполнено и если ничего не найдено. Буду очень благодарен!

Заранее большое спасибо!
pgerasimov вне форума Ответить с цитированием
Старый 11.08.2009, 19:01   #2
Metandrostenalon
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 108
По умолчанию

В начало функции findText
Код:
if (document.getElementById('textToFind').value == '') {
  alert('Введите значение поиска');
  return false;
}
php,javascript
Metandrostenalon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После ввода в поле по Enter нужно перейти на другое поле! •ScReam•™ Помощь студентам 2 16.06.2009 08:47
Ограничение ввода в Edit xxxsas Общие вопросы C/C++ 4 22.01.2009 12:36
Ограничение ввода символов. Delphi Alex_2017 Общие вопросы Delphi 2 05.06.2008 18:45
Ограничение ввода символов. Delphi Alex_2017 Помощь студентам 0 04.06.2008 17:26
Ограничение ввода в Edit Макс84 Компоненты Delphi 7 23.07.2007 09:38