Показать сообщение отдельно
  #1 (permalink)  
Старый 28.02.2013, 00:20
Новичок на форуме
Отправить личное сообщение для rusister Посмотреть профиль Найти все сообщения от rusister
 
Регистрация: 27.02.2013
Сообщений: 3

Поиск текста в 2х формах
Всем привет! Вот есть у меня скрипт поиска введенного текста (форма 1) в базе данных (текстовый файл)... текст он находит, все прекрасно, но мне хочется сделать и вторую форму, которая искала бы уже в том массиве другой текст (из формы 2), в котором свой текст нашел первый поиск

<html>
<head>
<title>Search in DB file</title>
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
 <Style>
   A:Link{ Color: #000000; Text-decoration: underline}
   A:Visited{ Color: #000000; Text-decoration: underline}
   A:Hover{ Color: #000000; Text-decoration: none}
 td, body {font-family: verdana, arial, helvetica; font-size:11px;}  
 </Style>

</head>
<body bgcolor="#EDEDED" text="#000000" link="#000000" topmargin="0" leftmargin="0">
<center>

<script SRC="database1.txt"></script>
 <table cellpadding="0" cellspacing="0" border="0" width="611">
   <tr>
     <td width="21" CLASS="describe"></td>
     <td width="590" CLASS="describe">&nbsp;<p><b>Программа: JS для поиска
     данных в текстовых БД</b></p>
     <p><b>Требования:</b><ul CLASS="describe">
       <li>Поддержка JavaScript Web-Браузером (IE, NN, Opera)</li>
     </ul>
     <p><b>Демонстрация</b></p>
     <form method="POST" name="form1">
       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="sub"
       size="20"> <input type="button" value="Пункт 1" onClick="dolt()">
       
       <form method="POST" name="form2">
       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="sub1"
       size="20"> <input type="button" value="Пункт 2" onClick="dolt1()">
       
       <ul>
         <li>Введите: Мир, в, господин или другое...</li>
         <li>Нажмите &quot;Search&quot; чтобы увидеть все записи БД.</li>
       </ul>
   
     </form>
     </td>
   </tr>
 </table>
</body>
</html>


Так тут все в порядке, создал новую форму "form 2" и задал для него новую функцию dolt1...

Вот тут и возникает проблема, а что прописывать в функцию dolt1? чтобы он искал второй текст в массиве (который содержит текст первой формы)


Keyword = new Object();
 inform = new Object();
 Keyword[0] = 3

 Keyword[1] = "Выбор сделан, я сомневаюсь в Вас"
 inform[1] = "... где бы вы ни были, господин!"

 Keyword[2] = "Мир в глубокой депрессии"
 inform[2] = "Мне очень не уютно просто"
 
 Keyword[3] = "Эп? лайах ача."
 inform[3] = "Я хороший мальчик"

 

 function contains(sub,s){
 strlen1=sub.length
 strlen2=s.length
 istrue=false
 for(i=0;i<=strlen2;i++)
 {
 comp=s.substring(i-1,strlen2)
 comp=comp.substring(0,strlen1)
 if(comp==sub){
 istrue=true
 break  
    }   
   }
 return istrue
  }
function dolt1(){}
 function dolt() {
 loopCount=0;
 var Found=false
 var Item=document.forms[0].sub.value.toLowerCase();
 
stats='toolbar=no,location=no,scrollbars=yes,directories=no,status=yes,menubar=no,height=500,width=790,top=0,left=0'
stats += 'scrollbars=yes,resizable=yes'
MsgBox = window.open ("","msgWindow",stats) 
MsgBox.opener = window;
MsgBox.opener.name = "opener";
MsgBox.document.write("<head><title>Результаты поиска для:  "+Item+"</title></head>");

 if(document.form1.sub.value=="")
 MsgBox.document.write('<h5><font face="Verdana,Arial,Helvetica" color="#0000000">Результаты поиска: вся база данных<HR></h5></font>');
 else
 MsgBox.document.write('<h5><font face="Verdana,Arial,Helvetica" color="#0000000">Результаты поиска:  '+Item+'<HR></h5></font>');
 for(var i=1; i<=Keyword[0]; i++){
 contains(Item,Keyword[i].toLowerCase())
 if(comp==Item){
 loopCount++;
 Found=true;
  MsgBox.document.write('<div align="center"><center><table border="0" width="740" cellspacing="0" cellpadding="8"><tr><td width="2%" bgcolor="#FFFffF" height="18"align="center"><font face="Verdana,Arial,Helvetica" size="2" color="#000000"><h5>'+loopCount+'. </h5></font></td>    <td width="150%" bgcolor="#FFFFFF" height="18" align="left"><font color="#000000"></font><fontcolor="#000000"><font face="Verdana,Arial,Helvetica" size="2" color="#000000"><b>'+Keyword[i]+'</b><BR>'+inform[i]+'</font></h1></font><font color="#0000000"></font></td></tr></table></center></div>')
  MsgBox.document.write('<script Language="JavaScript">window.status=("Total '+loopCount+' found")</'+'script'+'>');

     }
  }

if(!Found)
MsgBox.document.write('<font face="Verdana,Arial,Helvetica" size="2" color="#FF0000">Извиите, поиск не дал результатов!</font>')
MsgBox.document.write('<font face="Verdana,Arial,Helvetica" size="2" color="#0F219B"><p align="center"><HR><a href="/">Копирайты</a></p></font>')
MsgBox.document.write('<style><!--A:link{color: #FF0000; text-decoration:none} A:visited {color: #FF9950; text-decoration:none}--></style>')
if(loopCount==0){
MsgBox.document.write('<script Language="JavaScript">window.status=("Total 0 found")</'+'script'+'>');
      }
    }

Помогите, пожалуйста, знающим яваскрипт это не составит труда, я конечно и сам постараюсь что-то сделать, просто яваскрипт знаю очень плохо, только С++ изучал до этого))
Ответить с цитированием