Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2014, 15:36   #1
vmilyoshin
Пользователь
 
Регистрация: 20.02.2010
Сообщений: 66
По умолчанию Создать новую страницу с помощью JS

Добрый день!
При нажатии на кнопку с помощью JS должна создаться новая страница.
Мне нужно что бы в ней были теги JS.
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>

Вот так нормально страница содаётся.
Код HTML:
<script type="text/javascript">
 function Zvonok(strid)
 {
  var WinPrint = null;
  WinPrint = window.open('','','left=0,top=0,width=400,height=200,toolbar=0,scrollbars=1,status=0');
  if(WinPrint != null)
  {
  WinPrint.document.write('<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Заказать обратный звонок</title>');
  WinPrint.document.write('</head>');
  WinPrint.document.write('<body>');
  WinPrint.document.write('<form align= "center">');
  WinPrint.document.write('<strong>Ваше имя:</strong><br>');
  WinPrint.document.write('<input name="name2" type="text" id= "name2" maxlength="64" style="font-weight:bold; padding-left:3px; width:300px" size="30"><br>');
  WinPrint.document.write('<strong>Ваш телефон (11 цифр):</strong><br>');
  WinPrint.document.write('<input name="telefon" type="text" id= "telefon" onkeydown = "javascript: return(event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || (event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 35 && event.keyCode <= 40) || (event.keyCode >= 96 && event.keyCode <= 105))" maxlength="11" style="font-weight:bold; padding-left:3px; width:300px" size="30"><br>');
  WinPrint.document.write('<p><input type="button" onclick="send2();" style="cursor:pointer; font:11px Verdana, Geneva, sans-serif; background-color:#1173b2; color:#fff; border:2px #ccc solid; font-weight:700; text-transform:uppercase; height:25px;" value="Заказать звонок"></p>');
  WinPrint.document.write('<div id="result2"></div>');
  WinPrint.document.write('</form>');
  WinPrint.document.write('</body></html>');
  WinPrint.document.close();
  WinPrint.focus();
  }
 }
 </script>
А вот так нет.
Код HTML:
<script type="text/javascript">
 function Zvonok(strid)
 {
  var WinPrint = null;
  WinPrint = window.open('','','left=0,top=0,width=400,height=200,toolbar=0,scrollbars=1,status=0');
  if(WinPrint != null)
  {
  WinPrint.document.write('<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Заказать обратный звонок</title>');
  WinPrint.document.write('<script type="text/javascript" src="jquery.min.js"></script>');
  WinPrint.document.write('<script type="text/javascript" src="script.js"></script>');
  WinPrint.document.write('</head>');
  WinPrint.document.write('<body>');
  WinPrint.document.write('<form align= "center">');
  WinPrint.document.write('<strong>Ваше имя:</strong><br>');
  WinPrint.document.write('<input name="name2" type="text" id= "name2" maxlength="64" style="font-weight:bold; padding-left:3px; width:300px" size="30"><br>');
  WinPrint.document.write('<strong>Ваш телефон (11 цифр):</strong><br>');
  WinPrint.document.write('<input name="telefon" type="text" id= "telefon" onkeydown = "javascript: return(event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || (event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 35 && event.keyCode <= 40) || (event.keyCode >= 96 && event.keyCode <= 105))" maxlength="11" style="font-weight:bold; padding-left:3px; width:300px" size="30"><br>');
  WinPrint.document.write('<p><input type="button" onclick="send2();" style="cursor:pointer; font:11px Verdana, Geneva, sans-serif; background-color:#1173b2; color:#fff; border:2px #ccc solid; font-weight:700; text-transform:uppercase; height:25px;" value="Заказать звонок"></p>');
  WinPrint.document.write('<div id="result2"></div>');
  WinPrint.document.write('</form>');
  WinPrint.document.write('</body></html>');
  WinPrint.document.close();
  WinPrint.focus();
  }
 }
 </script>
Почему при добавлении тегов JS так происходит?

Последний раз редактировалось Stilet; 13.06.2014 в 15:50.
vmilyoshin вне форума Ответить с цитированием
Старый 13.06.2014, 15:51   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А что именно ненормально?
Консоль ошибок что показывает?

Дописано:
Код:
  WinPrint.document.write('<script type="text/javascript" src="jquery.min.js"><//script>');
  WinPrint.document.write('<script type="text/javascript" src="script.js"><//script>');
Должон сработать
I'm learning to live...

Последний раз редактировалось Stilet; 13.06.2014 в 15:58.
Stilet вне форума Ответить с цитированием
Старый 13.06.2014, 19:43   #3
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 823
По умолчанию

А почему он должен теперь сработать? о_О
Обратный слэш - он же другой слэш.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 13.06.2014, 20:07   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Я подумал что экранировать нужно, но видимо ошибся в слешах
Ты прав.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.06.2014, 02:43   #5
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 823
По умолчанию

Нашёл такое решение:
Разбейте везде слово "script":
Код:
  WinPrint.document.write('<s'+'cript type="text/javascript" src="jquery.min.js"></s'+'cript>');
  WinPrint.document.write('<s'+'cript type="text/javascript" src="script.js"></s'+'cript>');
^-.-^ My GitHub

Последний раз редактировалось Fenex; 14.06.2014 в 02:50.
Fenex вне форума Ответить с цитированием
Старый 14.06.2014, 10:44   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Аж мне стало интересно почему так получается... Что там такого в этом слове что его так резать надо?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.06.2014, 12:56   #7
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 823
По умолчанию

Есть у меня предположение.

Как мне кажется, корни проблемы исходят отсюда: javascript-интерпретатор это не рендер DOM.
Рендер вообще не знает о существовании JS, для него всё это - просто поток символов. Как рендеру понять, что данный `</script>` - это строка в переменной JS, а не тэг? Никак. Вот он и распознаёт это как тэг.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 14.06.2014, 15:49   #8
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

а не судьба просто работать из родителя?
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно создать новую страницу с исходным кодом из Textarea и отобразить Playa-RC HTML и CSS 1 27.03.2013 08:18
Как добавить новую страницу на движке Kinokpk releaser shevron PHP 2 04.09.2011 22:17
Поиск совпадений и вывод на новую страницу Mr.Wonderful Microsoft Office Excel 13 21.03.2011 11:26
Вывод результата на новую страницу slips PHP 9 08.07.2010 14:30
Как в FastReport-е сформировать новую страницу _SERGEYX_ Компоненты Delphi 0 13.02.2009 11:26