documen.write внутри слоя <div>
Значит сначала объясню что дано есть форма - в которой содержится несколько полей ввода данных которые затем потом записываются в файл блокнота, так же есть поле ввода текста с которого осуществляет поиск этих самых введенных данных , задача вывести из блокнота в виде <div> все данные по заданному критерию.
- Есть функция записи данных в файл .txt - Есть функция которая осуществляет поиск , но я не могу передать этот критерий поиска в функцию, вообщем есть форма предположим form на ней есть поле find у поля find есть свойство value так вот я не могу передать предположим это значение в функцию я делаю так но не работает : var reg = new RegExp(window.document.form.find.value); Да и помогите пожалуйста как сделать чтобы функция вызывалась из одного места, из одного слоя <div id="m1"> а результат функции выводился в другом слое <div id="m2"> я делаю так но не работает внутри функции пишу если мне нужно вывести в слое m2 : window.document.m2.write("Что я хочу вывести"); Заранее благодарю за ответ если вы не поняли что я хочу узнать спросите .... |
Я ничего не понял. Выложите листинг кода.
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Сайт</title> </head> <script type="text/javascript"> function showLayer() { document.getElementById("polefind").style.visibility = "visible"; } function createfile(form) { var FSO = new ActiveXObject("Scripting.FileSystemObject"); var f = FSO.OpenTextFile("c:\\filesave.txt", 8, true); f.writeline(""); f.Write(form.tube.value + " " + form.number.value + " " + form.date.value + " " + form.family.value + " "); if (form.defect1.checked == 1) f.write(form.defect1.value + " "); if (form.defect2.checked == 1) f.write(form.defect2.value + " "); if (form.defect3.checked == 1) f.write(form.defect3.value + " "); if (form.defect4.checked == 1) f.write(form.defect4.value + " "); if (form.defect5.checked == 1) f.write(form.defect5.value + " "); if (form.defect6.checked == 1) f.write(form.defect6.value + " "); if (form.defect7.checked == 1) f.write(form.defect7.value + " "); if (form.defect8.checked == 1) f.write(form.defect8.value + " "); f.Close(); } function poisk() { var FSO = new ActiveXObject("Scripting.FileSystemObject"); var f = FSO.OpenTextFile("c:\\filesave.txt", 1, true); myArray= new Array(); var i=0; var reg = new RegExp(window.document.form.find.value); window.document.polefind.write("<table width='40%' style='border-collapse: collapse; font-size: 90%'>"); while (!f.AtEndOfStream) { myArray[i] = f.ReadLine(); if(reg.test(myArray[i])==true) { window.document.polefind.write("<tr><td>"); window.document.polefind.write(myArray[i]); window.document.polefind.write("</td></tr>"); } i=i+1; } window.document.polefind.write("</table>"); } <style type="text/css"> #tube, #number, #date, #family, #butt { position: absolute; top:10px; border: 1px solid #000080; margin:2px; } #tube { left:2px; border-right:0px; } #number { left:153px; border-left:0px; border-right:0px; } #date { left:303px; border-left:0px; border-right:0px; } #family { left:453px; border-left:0px; border-right:0px; } #butt { border-left:0px; left:603px; } #tube P, #number P, #date P, #family P, #butt P { margin:0px; padding-bottom:3px; margin-bottom:5px; text-align:center; color:white; font-weight:bold; border-bottom: 1px solid blue; background: #000080; font-family: Arial, Helvetica, sans-serif; font-size: 80%; } input.but { width: 12%; } input.but1 { width: 5%; } #find { position:absolute; top:100px; left:20%; } #polefind { position:absolute; left:20%; top:180px; visibility:hidden; } </style> <body> <form name="mainform"> <div id="tube"> <p>Газопровод</p> <input type="text" name="tube"> </div> <div id="number"> <p>№ Трубы</p> <input type="text" name="number"> </div> <div id="date"> <p>Дата обследования</p> <input type="text" name="date"> </div> <div id="family"> <p>ФИО</p> <input type="text" name="family"> </div> <div id="butt"> <p> </p> <input type="button" name="button" class="but" value="Добавить данные" onClick="createfile(this.form); poisk();"> </div> <div id="find"> <table width="40%"> <tr> <th colspan="2">Поиск по критериям</td> </tr> <tr> <td><input type="text" size="64" name="find"></td> <td><input type="button" value="Поиск" onClick="showLayer(); "></td> </tr> </table> </form> <div id="polefind"> </div> </body> </html> |
Хм, я все еще не понял сути вопроса, но, вроде бы, кое-что уловил.
Вы можете откуда угодно менять содержание div, используя DOM, например у вас есть элемент: <div id="element1"></div> Из любой функции вы можете редактировать содержание этого элемента, получив его из модели: var element1 = document.getElementById("element1"); // Свойство innerHTML ссылается на содержание элемента: element1.innerHTML = "Элемент 1 изменён"; Ваш код какой-то уж слишком Delphi-style, получение элемента через имя уже устарело (window.document._form_name_._input_name_), лучше работать с DOM (getElementById, getElementsByTagName), тем более в вашем случае, когда нужно заменить содержание конкретного элемента. document.write() тоже не рекомендуется и является устаревшим приемом, рекомендуется изменять содержание через свойство innerHTML. |
Цитата:
|
Можно, если вы имеете в виду передать переменную, сформированную в ходе работы одной функции, в другую. Это можно сделать, используя глобальные переменные, например:
// Объявляем глобальную переменную globvar1, // фактически, это будет свойство window.globvar1: var globvar1 = null; function func1() { // Изменяем значение globvar1: globvar1 = "Hello"; // Объявляем глобальную переменную globvar2 // обратите внимание, что без var в начале: globvar2 = "World!"; } function func2() { alert([globvar1, globvar2]); } // Вначале мы объявили "var globvar1", чтоб она существовала, // а поскольку globvar2 объявляется только в func1(), то вызов // func2() перед func1() выдаст ошибку: func2(); func1(); // Запишет globvar1 и globvar2 func2(); // Отобразит alert "Hello,World!" |
Цитата:
var glob"Любое имя" = null; ?? |
Нет, это я для примера так назвал. Название может быть любое.
Синтаксис по сути тотже самый, что и у создания обычной переменной, просто создается она в глобальной области видимости. |
Андрей Параничев помогите пожалуйста разобраться с кодом думаю что должно все работать но нет ничего не получается требуется вывести из файла построчно строки соответствующие критерию поиска вот код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Сайт</title> </head> <script type="text/javascript"> function inner() { var FSO = new ActiveXObject("Scripting.FileSystemObject"); var file = FSO.OpenTextFile("c:\\filesave.txt", 1, true); var poisk = document.getElementById("folk"); var spisok = document.getElementById("tab_find"); myArray= new Array(); var i=0; spisok.innerHTML += "<table>"; while (!file.AtEndOfStream) { myArray[i] = file.ReadLine(); if(poisk.value.test(myArray[i])==true) spisok.innerHTML += "<tr><td>" + myArray[i] + "<\/td><\/tr>"; i=i+1; } spisok.innerHTML += "<\/table>"; } </script> <style type="text/css"> </style> <body> <form name="mainform"> <div id="number"> <p>№ Трубы</p> <input type="text" name="folk"> <input type="button" name="button" value="Добавить данные" onClick="inner()"> </div> <div id="tab_find"> </div> |
Часовой пояс GMT +3, время: 06:08. |