Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.163.58] |
|
Сообщ.
#1
,
|
|
|
Есть форма добавления сообщения, надо сделать предпросмотр. Хочу сделать так, чтобы при нажатии на кнопку открывалось еще одно окно, где был бы виден результат. Притом есть готовый шаблон этой страницы, в котором в нужных местах вставлены условные переменные. Типа:
.... Адрес: [MyAdres] .... Так вот надо эти переменные заменить на значения взятые из формы. Как произвести замену? Есть такая мысль, что надо весть файл загнать в переменную типа string, а там произвести replace("[MyAdres]", document.form.text.value). А вот как загнать все в одну переменную? И как в таком случае открыть файл? Ведь если использовать document.open() то он отобразиться сразу, а мне надо после преобразования... Да, кстати, надо чтобы это все поддерживалось на разных браузерах! |
Сообщ.
#2
,
|
|
|
наверное стоит не на javascript делать - а на server-side скрипте(вот как например на этом форуме сделано)
можешь на asp попробывать - там синтаксис javascript'овский - легче освоиться будет, если ты серверными скриптами еще не занимался. |
Сообщ.
#3
,
|
|
|
Ну мне тогда на пхп проще... Просто хотелось чтоб страница не перегружалась... А че на ЯваСкрипте никак?
|
Сообщ.
#4
,
|
|
|
почему же никак?
можно так: win=window.open(...); win.innerHTML=... то есть к примеру: у тебя есть поле для ввода ника (<input type=text id=nickname>) после нажатия на кнопку "предпросмотр" выполняется какаянить функция которая создаёт новое окно и заполняет его (<input type=button onClick="preview();">). осталось только написать функцию... например: function preview() { win=window.open(...); win.innerHTML='Ник: '+document.all[nickname'].value; } по сути дела функция preview должна содержать весь твой шаблон о котором ты говорил, нужно только в нужных местах подставлять соответствующие значения... на счёт кроссбраузерности это не ко мне... я этим не занимаюсь - у меня свои предубеждения... 2shipbrother: не javascript'овский а vbscript'овский |
Сообщ.
#5
,
|
|
|
Цитата ну это смотря с какой стороны посмотретьне javascript'овский а vbscript'овский <%@LANGUAGE = JavaScript%> а по умолчанию действительно vbscript - это я согласен |
Сообщ.
#6
,
|
|
|
To seelts:
Задумка понятна, спасибо, но немного не то, что мне нужно... Ты предлагаешь, чтобы я весь свой шаблон засунул в эту функцию, но у меня этот шаблон лежит отдельным файлом, и кроме того он используется в других местах. Должно получиться примерно так: я беру этот файл-шаблон, ищу в нем условные переменные и заменяю их на нужные значения. Если вдруг через пару недель дизайнер принесет новый шаблон или что-то изменит в этом, то я беру только один этот файл и заменяю только его, не меняя ни строчки кода. Можно ли на JavaScript'e открыть файл, присвоить все его содержимое какой-либо переменной типа string, преобразовать ее нужным образом, а затем уже вывести в отдельном окне? В php есть такая функция file(), так вот мне нужен ее аналог... |
Сообщ.
#7
,
|
|
|
попробуй так:
сначала открываешь окно: n=window.open(template,"go","left=0, top=0, width=screen.width, height=screen.height, scrollbars=yes, resizeable=yes"); потом получаешь его содержимое (это содержимое между <body> и </body> поэтому эти теги должны присутствовать): tempbody=n.document.body.innerHTML; теперь у тебя в tempbody - твой шаблон в котором ты ищешь "условные переменные", заменяешь их реальными значениями и: n.document.body.innerHTML=newbody; думаю должно получиться то что тебе надо. Удачи. |