Поиск текста в 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"> <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"> <input type="text" name="sub" size="20"> <input type="button" value="Пункт 1" onClick="dolt()"> <form method="POST" name="form2"> <input type="text" name="sub1" size="20"> <input type="button" value="Пункт 2" onClick="dolt1()"> <ul> <li>Введите: Мир, в, господин или другое...</li> <li>Нажмите "Search" чтобы увидеть все записи БД.</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'+'>'); } } Помогите, пожалуйста, знающим яваскрипт это не составит труда, я конечно и сам постараюсь что-то сделать, просто яваскрипт знаю очень плохо, только С++ изучал до этого)) |
Не оч понял задачу,
Выдайте чисто строками оба контента из из обеих формы и тестовые фразы для первого и второго вариантов |
вобщем, дам пример:
есть скажем текст "сижу я в темнице сырой, сижу и не знаю что делать" в форму первого поиска забиваем "темнице", он находит этот текст, так как в предложении есть введенное слово,,, но мне нужно сделать так, чтобы забивая во вторую форму поиска например "сижу" программа нашла это самое слово в предложении после слова "темнице" и вывела предложение на экран:-) |
Часовой пояс GMT +3, время: 06:24. |