Тема: Прошу допомоги, навчаюсь +_)

Зіткнувся як я розумію з банальною проблемою, не знаю як правильно записати, підсажіть.
Проблема в тому, що алерт випадає в будь-якому випадку якщо був введений текст, якщо не ввели то випаде алерт який каже про помилку. Потрібно щоб алерт виграшу випадва тільки на правиль нувідповідь.

    var ans = prompt("Через воду він проводить,А сам з місця вік не сходить.");
    var opt = ["Міст","міст"];
            for (i=0;i < opt.length; i++) {
            if (opt[i]=ans) {
            alert("Вітаю, з перемогою!" + ans + " " + "Дійсно вірна відповідь." ); break;
            } else {
            alert("Прикра помилка");break;
            }
        }
    

2

Re: Прошу допомоги, навчаюсь +_)

valentinushych написав:

Зіткнувся як я розумію з банальною проблемою, не знаю як правильно записати, підсажіть.
Проблема в тому, що алерт випадає в будь-якому випадку якщо був введений текст, якщо не ввели то випаде алерт який каже про помилку. Потрібно щоб алерт виграшу випадва тільки на правиль нувідповідь.

    var ans = prompt("Через воду він проводить,А сам з місця вік не сходить.");
    var opt = ["Міст","міст"];
            for (i=0;i < opt.length; i++) {
            if (opt[i]=ans) {
            alert("Вітаю, з перемогою!" + ans + " " + "Дійсно вірна відповідь." ); break;
            } else {
            alert("Прикра помилка");break;
            }
        }
    

тут

 opt[i]=ans

  у Вас присвоєння.
а потрібно порівння

opt[i]==ans
Подякували: FakiNyan, 0xDADA11C72

3

Re: Прошу допомоги, навчаюсь +_)

убери break щонайменше з else. Але спочатку зрозумій чому

Подякували: 0xDADA11C71

4

Re: Прошу допомоги, навчаюсь +_)

0. Не плутайте = і ==.
1. Ще раз продумайте алгоритм. Уявіть собі, що правильних відповідей 200. Вам точно треба alert в циклі робити, а не після нього?

Подякували: 0xDADA11C7, leofun01, varkon3

5

Re: Прошу допомоги, навчаюсь +_)

і так, ping теж правий, не замітив

6

Re: Прошу допомоги, навчаюсь +_)

Kniy написав:

убери break щонайменше з else. Але спочатку зрозумій чому

а де дякую мені? чи я неправий?
всюди несправедливість!!)

Подякували: 0xDADA11C71

7

Re: Прошу допомоги, навчаюсь +_)

не спец по js але так краще, здається:

    var ans = prompt("Через воду він проводить,А сам з місця вік не сходить.");
    var opt = ["Міст","міст"];
 
    if (opt.includes(ans)) {
      alert("Вітаю, з перемогою!" + ans + " " + "Дійсно вірна відповідь." );
    }
    else {
            alert("Прикра помилка");
    }
Подякували: 0xDADA11C7, koala, 221VOLT, leofun014

8

Re: Прошу допомоги, навчаюсь +_)

Дякую, дуже сильно =_)

Подякували: 0xDADA11C7, Monolith2

9

Re: Прошу допомоги, навчаюсь +_)

Припустимо, у мене є одне поле для вводу паролю. Як зробити так, щоб, нажимаючи на клавішу enter, викликалась певна функція?Який івент застосувати?

  
<intput type="password" id="ps" />

10

Re: Прошу допомоги, навчаюсь +_)

Обгорніть в формочку і onsubmit Event

Подякували: leofun011

11

Re: Прошу допомоги, навчаюсь +_)

Yidak_Ihor написав:

Припустимо, у мене є одне поле для вводу паролю. Як зробити так, щоб, нажимаючи на клавішу enter, викликалась певна функція?Який івент застосувати?

  
<intput type="password" id="ps" />

http://keycode.info/

12

Re: Прошу допомоги, навчаюсь +_)

fed_lviv написав:

Обгорніть в формочку і onsubmit Event

хто вам сказав що там post запит юзатимуть?
можливо йде мова про вебсокет

Подякували: Yidak_Ihor1

13 Востаннє редагувалося fed_lviv (02.12.2017 21:44:07)

Re: Прошу допомоги, навчаюсь +_)

221VOLT написав:

хто вам сказав що там post запит юзатимуть?
можливо йде мова про вебсокет

Можливо і про вебсокет, я звідкіля знаю? :)

Yidak_Ihor написав:

Як зробити так, щоб, нажимаючи на клавішу enter, викликалась певна функція?Який івент застосувати?

Що заважає в обробнику викликати:

evt.preventDefault();

і далі, що хоч той роби.
Звичайно можна реагувати на натискання конкретної клавіши, все залежить, що саме хоче реалізовувати Yidak_Ihor

Подякували: 221VOLT, leofun01, Yidak_Ihor3

14

Re: Прошу допомоги, навчаюсь +_)

А як зробити так, щоб функція викликалась тільки після натискання конкретної клавіші(For example: enter)?

15

Re: Прошу допомоги, навчаюсь +_)

Yidak_Ihor написав:

А як зробити так, щоб функція викликалась тільки після натискання конкретної клавіші(For example: enter)?

порівнювати код натиснутої клавіші
якщо код співпадає з кодом очікуваної клавіші - викликаємо функцію

Подякували: Monolith1

16

Re: Прошу допомоги, навчаюсь +_)

Yidak_Ihor написав:

А як зробити так, щоб функція викликалась тільки після натискання конкретної клавіші(For example: enter)?

window.onkeypress = function(event) {
    var key_code = event.keyCode;
    if ( key_code == 13 ) {
        console.log( 'Ви натиснули клавішу Enter!' );
    }
}
Подякували: leofun01, 221VOLT2

17

Re: Прошу допомоги, навчаюсь +_)

Yidak_Ihor написав:

А як зробити так, щоб функція викликалась тільки після натискання конкретної клавіші(For example: enter)?

https://codepen.io/anon/pen/ooKKOd?editors=1111

Подякували: Monolith, 221VOLT2

18

Re: Прошу допомоги, навчаюсь +_)

Monolith написав:
Yidak_Ihor написав:

А як зробити так, щоб функція викликалась тільки після натискання конкретної клавіші(For example: enter)?

window.onkeypress = function(event) {
    var key_code = event.keyCode;
    if ( key_code == 13 ) {
        console.log( 'Ви натиснули клавішу Enter!' );
    }
}

якщо ентер при вводі тексту в input id="your_input"

document.getElementById("your_input").addEventListener("keypress", function(e){    
  if(e.keyCode == 13){
    console.log( 'Ви натиснули клавішу Enter!' );
  }
});