Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать дату по запросу 
:(
    Опции темы
Webtoper
Дата 16.12.2014, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 8.12.2014

Репутация: нет
Всего: нет



Что не так? почему не срабатывает?
Код
<script language='JavaScript' type='text/JavaScript'>
var date = new Date();
var n = prompt ("Введите дату");
while(true)
{
  if (n="2014"){
      alert("Поздравляем! Вы ввели правильный год!");
      }
  else{
      alert("Вы ввели неправильный год, попытайтесь еще!");
  }
  else
    break;
}
</script>



Добавлено через 4 минуты и 33 секунды
И еще сразу вопрос. Как сделать чтобы при неправильно вводе кода, запрос отправлялся повторно (происходил возврат запроса). Вот в этом варианте:
Код

<script language='JavaScript' type='text/JavaScript'>
var date = new Date();
var n = prompt ("Введите дату");
  if (n=="2014"){
      alert("Поздравляем! Вы ввели правильный год!");
      }
  else{
      alert("Вы ввели неправильный год, попытайтесь еще!");
  }
</script>

PM MAIL   Вверх
Aliance
Дата 16.12.2014, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



1. В сотый раз повторяю что language='JavaScript' не нужно писать.
2. type='text/JavaScript' -> type='text/javascript'
3. var date = new Date(); зачем? Если эта переменная нигде не используется.
4. if/else/else - Это что такое? второй else никогда не выполнится, соответственно цикл никогда не прервется, а значит у вас будет циклическая замкнутость. вы хоть в консоль смотрите.
5. if (n="2014") всегда будет TRUE, нужно ==
PM MAIL WWW ICQ Skype   Вверх
Webtoper
Дата 16.12.2014, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 8.12.2014

Репутация: нет
Всего: нет



Исправил. Как здесь сделать, чтобы запрос отправлялся повторно при неправильном ответе?
Код

script type='text/JavaScript'>
var n = prompt ("Введите дату");
  if (n=="2014"){
      alert("Поздравляем! Вы ввели правильный год!");
      }
  else{
      alert("Вы ввели неправильный год, попытайтесь еще!");
  }
</script>


PM MAIL   Вверх
Aliance
Дата 16.12.2014, 12:38 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Если нужно пользователя до бесконечности мучать пока он не отгадает, то можно сделать это так:
Код

while (prompt("Введите дату") != 2014) {
   alert("Вы ввели неправильный год, попытайтесь еще!")
}

alert("Поздравляем! Вы ввели правильный год!")


Либо с помощью рекурсии:

Код

function enterYear() {
   if (prompt("Введите дату") == 2014) {
      alert("Поздравляем! Вы ввели правильный год!");
   } else{
      alert("Вы ввели неправильный год, попытайтесь еще!");
      enterYear();
   }
}

enterYear();

PM MAIL WWW ICQ Skype   Вверх
Webtoper
Дата 16.12.2014, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 8.12.2014

Репутация: нет
Всего: нет



О, спасибо! просто и ясно, и понял логику!
Еще вопрос. А если много вводных на выбор? Можно как то через Switch case?

Это сообщение отредактировал(а) Webtoper - 16.12.2014, 12:48
PM MAIL   Вверх
Aliance
Дата 16.12.2014, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Цитата(Webtoper @  16.12.2014,  13:47 Найти цитируемый пост)
А если много вводных на выбор? Можно как то через Switch case?

Задачу целиком сформулируйте. Каких данные и что должно происходить?
PM MAIL WWW ICQ Skype   Вверх
Webtoper
Дата 16.12.2014, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 8.12.2014

Репутация: нет
Всего: нет



Цитата(Aliance @  16.12.2014,  14:18 Найти цитируемый пост)
Задачу целиком сформулируйте. Каких данные и что должно происходить? 

Ввести число, день недели, месяц, год и время.
PM MAIL   Вверх
Aliance
Дата 16.12.2014, 15:44 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Это не целиком. Раздельно ввести или нет? Если раздельно - то проверка после каждого введенного значения или после всех введенных.

Switch в любом случае не поможет тут, т.к. он является аналогом if/else, а вам нужно последовательное выполнение кода, видимо.

Просто пишите так:
Код

while (prompt("Введите год") != 2014) {
   alert("Вы ввели неправильный год, попытайтесь еще!")
}

while (prompt("Введите месяц") != 1) {
   alert("Вы ввели неправильный год, попытайтесь еще!")
}


Только зачем все это не пойму. Сомнительная полезность и юзабельность сервиса, больше похоже на домашнее задание в университете/школе.
PM MAIL WWW ICQ Skype   Вверх
Webtoper
Дата 16.12.2014, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 8.12.2014

Репутация: нет
Всего: нет



Цитата(Aliance @  16.12.2014,  15:44 Найти цитируемый пост)
Это не целиком. Раздельно ввести или нет? Если раздельно - то проверка после каждого введенного значения или после всех введенных.

Switch в любом случае не поможет тут, т.к. он является аналогом if/else, а вам нужно последовательное выполнение кода, видимо.

Просто пишите так:

Спасибо! Да, сейчас учусь можно сказать, чтобы понять лучше логику кода и синтаксиса, как правильно писать те или иные последовательности или алгоритмы... 
А если все вместе потом вывести - это через присвоение переменных каждому отдельному запросу?
PM MAIL   Вверх
sQu1rr
Дата 16.12.2014, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 11.11.2008
Где: london

Репутация: 2
Всего: 13



Цитата(Webtoper @  16.12.2014,  14:12 Найти цитируемый пост)
 это через присвоение переменных каждому отдельному запросу? 

Если запрос это prompt то скорее "через присвоение возвращаемого запросом значения переменной
Код

do {
    var variable = prompt('input');
} while (variable != 'correct_input');
alert(variable);

PM MAIL Skype GTalk   Вверх
Webtoper
Дата 16.12.2014, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 8.12.2014

Репутация: нет
Всего: нет



Цитата(sQu1rr @  16.12.2014,  17:50 Найти цитируемый пост)
Если запрос это prompt то скорее "через присвоение возвращаемого запросом значения переменной

Ага, понятно, то есть через do. Спасибо. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0529 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.