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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2014, 18:51   #1
poctek
Новичок
Джуниор
 
Регистрация: 31.01.2014
Сообщений: 19
По умолчанию Не работает document.open

Недавно начал изучать JavaScript, сегодня разбирал пример в книге, не получилось сделать, даже если просто переписать код.
Задача такая: пользователь вводит свое имя в поле, ему выдается приветствие на новой странице. У меня на мгновение появляется приветствие с именем пользователя в самом текстовом поле, после чего сразу же пропадает. Можете, пожалуйста, сказать, где в коде ошибка? Скрипт в отдельном файле лежит.

Код HTML:
<html>
  <head>
    <title>
      Username Identification
    </title>
    <link rel="stylesheet" type="text/css" href="styles.css">
  </head>
  <body>
  <form id="newp" onsubmit="newpage()">
    <input type="text" id="yourname" size="25">
    <input type="submit" value="send">
  </form>
  <script type="text/javascript" src="script.js"></script>
  </body>
</html>

function newpage() {
  var thename=document.getElementById("yourname").value;
  document.open();
  document.write("hello "+thename);
  document.close();
}
  
poctek вне форума Ответить с цитированием
Старый 31.01.2014, 18:55   #2
Metandrostenalon
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 108
По умолчанию

submit отправляет данные, в данном случае на эту же страницу

Код:
function newpage() {
  var thename=document.getElementById("yourname").value;
  document.open();
  document.write("hello "+thename);
  document.close();
  return false;
}
php,javascript
Metandrostenalon вне форума Ответить с цитированием
Старый 31.01.2014, 19:04   #3
poctek
Новичок
Джуниор
 
Регистрация: 31.01.2014
Сообщений: 19
По умолчанию

Не помогло, по-прежнему обратно возвращается...
poctek вне форума Ответить с цитированием
Старый 31.01.2014, 19:07   #4
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Мэн выше хотел сказать, что нужно обрубить дальнейшее выполнение функции, а топик-стартеру советую выкинуть книгу (пример похож на что-то вроде "JS за 24 часа"), читай гарден, хабр, javascript.ru, а когда надрочишься — исходники крутых библиотек, jQuery, jq-ui, angular, node-express, three-js.

p.s. Никогда не встречал такой вид онсабмита, так что не уверен, работет ли он в современных браузерах вообще. ТруЪ-выход через слушателей события.
Alar, верни репу!

Последний раз редактировалось Naive; 31.01.2014 в 19:16.
Naive вне форума Ответить с цитированием
Старый 31.01.2014, 19:11   #5
poctek
Новичок
Джуниор
 
Регистрация: 31.01.2014
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
Мэн выше хотел сказать, что нужно обрубить дальнейшее выполнение функции, а топик-стартеру советую выкинуть книгу (пример похож на что-то вроде "JS за 24 часа"), читай гарден, хабр, javascript.ru, а когда надрочишься — исходники крутых библиотек, jQuery, jq-ui, angular, node-express, three-js.
В том-то и дело, что я не знаю, как ее обрубить. Согласен, что книга не очень, указанные ресурсы и так посещаю, но без базовых знаний там сложно
poctek вне форума Ответить с цитированием
Старый 31.01.2014, 19:44   #6
three_cats
Форумчанин
 
Аватар для three_cats
 
Регистрация: 27.09.2012
Сообщений: 175
Радость

Наверное, так будет лучше.

Код HTML:
<html>
  <head>
    <title>
      Username Identification
    </title>
    <link rel="stylesheet" type="text/css" href="styles.css">
  </head>
  <body>
  <form id="newp" onsubmit="newpage()">
    <input type="text" id="yourname" size="25">
    <input type="submit" value="send">
  </form>
  <script type="text/javascript">
  function newpage() {
  var thename=document.getElementById("yourname").value;
  wo=window.open("","","width=400,height=150");
  wo.document.write("hello "+thename);
  }
</script>
  </body>
</html>
P.S: То, что вы имели в виду под тем, что "на мгновение открывается", то не нужно в той же функции использовать функцию window.close()
Никто

мой блог

Последний раз редактировалось three_cats; 31.01.2014 в 19:49.
three_cats вне форума Ответить с цитированием
Старый 31.01.2014, 19:51   #7
poctek
Новичок
Джуниор
 
Регистрация: 31.01.2014
Сообщений: 19
По умолчанию

Спасибо большое
poctek вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать перенаправления пользователя в новом окне. windows.open не работает Rost93 JavaScript, Ajax 2 22.06.2012 19:04
Почему document.write() не работает??? moshkin_ura JavaScript, Ajax 5 22.02.2012 23:12
mciSendString("set cdaudio door open", 0, 0, 0); не работает ромик0 Общие вопросы C/C++ 6 27.07.2011 23:36
функция Get Document не работает в CDialog. как получить документ в CDIalog MFCCasper Общие вопросы C/C++ 4 24.03.2010 15:06
document.write Flamberg JavaScript, Ajax 1 10.01.2010 15:07