Я прошу прощения но у меня еще один вопрос. Можна ли с помощью JavaScript сохранять даные с html документа в файл а тпотом считывать с него. Буду очень признателен за ответ с примерами. Mike
Приветствую Вас, Mike! Чтобы писать в файл и читать из него, используйте ActiveX: var fso, f1, ts, s; var ForReading = 1; fso = new ActiveXObject("Scripting.FileSystemObject"); f1 = fso.CreateTextFile("c:\testfile.txt", true); // Write a line. f1.WriteLine("Hello World"); f1.WriteBlankLines(1); f1.Close(); // Read the contents of the file. ts = fso.OpenTextFile("c:\testfile.txt", ForReading); s = ts.ReadLine(); alert ("File contents = '" + s + "'"); ts.Close();
PS У объекта FileSystemObject существует еще очень много полезных методов, советую прочитать. PPS Могут возникнуть проблемы с использованием ActiveX-компонентов, т.к. антивирус может блокировать их работу. И на всякий случай напомню: ява-скрипт выполняется
на стороне пользователя! Ответ отправлен: 13.02.2004, 01:31 Отправитель: Licvidator
Вопрос № 178
Добрый день большое спасибо эксперту Licvidator за ответ. Я задавал вот такой вопрос. Добрый день уважаемые эксперты Хотел бы попросить у Вас ответ на такой вопрос, поскольку я уже долгое время долблюсь над ним и никак не могу ничего сделать. Суть вопроса состоит вот в чем. С помощью Java Script создаю новое окно (при клике на кнопке) с формой и другими элементами. И нужно, чтобы при клике в только что созданном окне вызывалась некая функция Java Script которая бы делала проверку полей формы. Суть проблемы состоит в том, что «новосозданное» окно и его элементы находятся в памяти компьютера, а написавши ссылку кнопки на Java Script функция не выполняется, как бы она недоступна Четыре разных куска кода привожу в приложении. Большое спасибо за Ваш труд Ps Если есть возможность дать електронный адрес могу выслать файлы реализующии
код приведенный в приложении
Здравствуйте, Mike! В sent.js я нашел несколько ошибок и улучшил проверку e-mail: function CheckBook(F){ var ok, ps; ok=false; ps = "Будь-ласка, заповніть поле "; if( !F.Name.value ){ alert( ps+"Ваше імя" ); F.Name.focus(); }else if( !F.Address.value ){ alert( ps+"Адреса" ); F.Address.focus(); }else if( !F.Phone.value ){ alert( ps+"Телефон" ); F.Phone.focus(); }else if( !check( F.Email.value )){ alert( "Неправильний формат е-mail" ); F.Email.focus(); } else { ok=true; }; return ok; } function check(str) {
var supported = 0; if (window.RegExp) { var tempStr = "a"; var tempReg = new RegExp(tempStr); if (tempReg.test(tempStr)) supported = 1; } if (!supported) return
(str.indexOf(".") > 2) && (str.indexOf("@") > 0); var r1 = new RegExp("(@.*@)|(\.\.)|(@\.)|(^\.)"); var r2 = new RegExp("^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$"); return (!r1.test(str) && r2.test(str)); }
Комментарий: при проверке e-mail лучше всего использовать регулярные выражения. Если же они не поддерживаются, то проверка ведется другим способом.
Что же касается невыполнения данного кода на сгенерированной страничке, то тут я был немало удивлен, т.к. если бы он содержал простейший метод alert(); то все работает. Пока никаких мыслей на этот счет не приходит, разве что вписывать этот код так же, как и остальной код в 1.js. Если найду ответ - вышлю Вам на мыло. Ответ отправлен: 13.02.2004, 17:14 Отправитель: Licvidator
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.