03.11.2020, 12:18 |
|||
|
|||
Prompt — не выводится сообщение Всем привет! Прохожу курс по js, столкнулся с такой проблемой. Мой «не рабочий» код: let userName = prompt('Кто там?', ''); if (userName == 'Админ') { let pass = prompt('Пароль?', ''); if (pass == 'Я главный' ) { alert( 'Здравствуйте!' ); } else if (pass == '' || pass == null) { alert( 'Отменено' ); } else { alert( 'Неверный пароль'); } } else if (userName == '' || userName = null) { alert( 'Отменено'); } else { alert( 'Я вас не знаю'); } Скопированный рабочий код let userName = prompt("Кто там?", ''); if (userName == 'Админ') { let pass = prompt('Пароль?', ''); if (pass == 'Я главный') { alert( 'Здравствуйте!' ); } else if (pass == '' || pass == null) { alert( 'Отменено' ); } else { alert( 'Неверный пароль' ); } } else if (userName == '' || userName == null) { alert( 'Отменено' ); } else { alert( "Я вас не знаю" ); }
|
03.11.2020, 12:24 |
||||
|
||||
Не точно |
03.11.2020, 13:12 |
||||
|
||||
Олег Костенко, Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [html run] ... минимальный код страницы с вашей проблемой [/html] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования — читайте http://javascript.ru/formatting. |
03.11.2020, 13:38 |
||||
|
||||
ок |
03.11.2020, 13:41 |
||||
|
||||
Спасибо, странно, в одном из вариантов редактировал, ставил два знака равно, все равно не работало. Спасибо за помощь! Можете ещё подсказать, почему когда хочу поставить пробел между == и null, программа стирает первую «n» в слове null. https://prnt.sc/vcizjg |
03.11.2020, 14:00 |
||||||||
|
||||||||
Я же не знаю, чем вы редактируете, какая у вас раскладка клавиатуры и проч.
А как вы это запускаете в браузере? |
03.11.2020, 14:09 |
|||
|
|||
В sublime text редактирую, открываю через index.html в гугл хроме. |
Your main issue is a syntax error — if you look in the browsers developer tools console, you should see an error message
SyntaxError: expected expression, got ':'
That’s what firefox says, but other browsers may issue a different message, but the message should point to the line with the issue
The other issue, once you fix that, is that your code will alert for any year divisible by 4 only — if it’s not divisible by 4, no alert happens at all
tidying your code, you’ll see why
function myfunc() {
var a = prompt("Enter the year?");
if (a % 4 == 0) {
if (a % 100 == 0) {
if (a % 400 == 0) {
window.alert("it is a leap year");
} else {
window.alert("it is not a leap year");
}
} else {
window.alert("it is a leap year");
}
} // you would need an else here for a % 4 !== 0
}
So, your code would end up
function myfunc() {
var a = prompt("Enter the year?");
if (a % 4 == 0) {
if (a % 100 == 0) {
if (a % 400 == 0) {
window.alert("it is a leap year");
} else {
window.alert("it is not a leap year");
}
} else {
window.alert("it is a leap year");
}
} else {
window.alert("it is a leap year");
}
}
That’s all very well, but you’ve got four alerts, when really you only need two
So, create another variable that will be true or false, depending on if the entered value is a leap year or not
function myfunc() {
var a = prompt("Enter the year?");
var isLeap = (a % 4 === 0) && ((a % 100 !== 0) || (a % 400 === 0));
if (isLeap) {
window.alert("it is a leap year");
} else {
window.alert("it is not a leap year");
}
}
Я пытаюсь выучить JavaScript. Прямо сейчас я на уроке подсказок.
Пример 1 работает как задумано.
Пример 2 нет, и нет сообщения об ошибке. Открывается пустое окно и ничего не происходит.
Оба примера взяты из книги по javascript. Оба в порядке в Notepadqq
Я запускаю их на одной ОС и браузере (Ubuntu, Firefox)
Так как я предполагаю, что набрал что-то неправильно, я уже сравнил это с источником, но не могу найти свою ошибку.
Пример 1:
var yourName = prompt("Please enter your namenenter:","name");
alert("You entered:n" + yourName + "nThank you!");
document.write(yourName);
Пример 2:
var number = prompt("Enter first number:","0");
var n1 = parseFloat(number);
var n2 = parseFloat(prompt("Enter a second number","0");
var sum = n1 + n2;
alert (n1 + " + " + n2 + " = " + sum);
3 ответа
Лучший ответ
Строка 3 была неправильной
var n2 = parseFloat(prompt("Enter a second number","0");
Исправленный:
var n2 = parseFloat(prompt("Enter a second number","0"));
0
Md Mahamudul Hasan
21 Апр 2019 в 23:13
Вы пропускаете скобки после n2 переменной, parseFloat(prompt("Enter a second number","0"));
0
Rock K
21 Апр 2019 в 23:11
У вас есть синтаксическая ошибка, и в n2
отсутствует скобка. Вот исправление.
var number = prompt("Enter first number:","0");
var n1 = parseFloat(number);
var n2 = parseFloat(prompt("Enter a second number","0"));
var sum = n1 + n2;
alert (n1 + " + " + n2 + " = " + sum);
0
alt-rock
21 Апр 2019 в 23:12
In this article, we cover the reference error that is “Prompt is not defined”. It’s important to understand the tools you are using. I know, this can be very overwhelming in the beginning. but here, we will solve this reference error with not only one solution but also make more ways to done properly.
window.prompt() instructs the browser to display a dialog with an optional message prompting the user to input some text and to wait until the user either submits the text or cancels the dialog.
However, prompt and window are not defined in the node environment. whenever we try to run this type of program in that type of environment, that time generates this reference type error.
One thing keeps in mind prompt is defined on the client side. That is why it is not defined on server side.
Error: When we run the below code on the server side, it’ll give an error like the below:
Javascript
let name = prompt(
"What's your name"
);
console.log(
"hello"
+name+
"!"
);
Output:
Here, the node command prompts an error.
Solution 1: The most effective solution is we have to install “prompt-sync“. make sure you have also installed an updated version of npm and node, then write the below code in the terminal:
npm install prompt-sync
Example: This example will demonstrate the use of prompt on the server side by using the “prompt-sync” package:
Javascript
const prompt=require(
"prompt-sync"
)({sigint:
true
});
let name = prompt(
"What's your name"
);
console.log(
"hello"
+name+
"!"
);
Output:
Error is gone by the ‘prompt-sync’ module
Note: If you run this type of code in nodejs environment. but, prompt is not defined in this type of environment.
Solution 2: Let’s simplify this problem in another way. All computers have browsers or search engines. run this type of code in the browser terminal. let’s see, it is running butter smoothly in the browser without installing any npm libraries.
Example 1: Here, we demand the user name by the prompt box. then it will simply print with the username which is given in the prompt dialog box.
Path: Open chrome >> more tools >> developer tools (ctrl+shift+i).
Terminal solution with simply print message.
Example 2: Here, we required input of the favorite language of the user. if javascript is your favorite language, it simply gives an alert message “it’s great”. otherwise, an alert is given to the user’s favorite language.
Javascript
let lang = prompt(
'What is your favorite programming language?'
);
let feedback = lang.toLowerCase() ===
'javascript'
? `It
's great!` :
`It'
s ${lang}`;
alert(feedback);
Output:
Last Updated :
02 Jun, 2023
Like Article
Save Article
Syltan 241 / 9 / 7 Регистрация: 27.08.2009 Сообщений: 868 |
||||
1 |
||||
27.05.2010, 16:47. Показов 8649. Ответов 9 Метки нет (Все метки)
Не работает функция промт, ваот пишу так:
0 |
60 / 60 / 6 Регистрация: 12.11.2009 Сообщений: 169 |
|
27.05.2010, 18:18 |
2 |
Правильно prompt
1 |
241 / 9 / 7 Регистрация: 27.08.2009 Сообщений: 868 |
|
27.05.2010, 22:30 [ТС] |
3 |
Ещё вопрос ,а как изменить размер окна, которое выдаёт для ввода?
0 |
60 / 60 / 6 Регистрация: 12.11.2009 Сообщений: 169 |
|
28.05.2010, 13:13 |
4 |
Его размер изменять нельзя. Хотите изменить — создайте свое.
0 |
241 / 9 / 7 Регистрация: 27.08.2009 Сообщений: 868 |
|
28.05.2010, 14:36 [ТС] |
5 |
А как своё создать, напишите плиз.
0 |
60 / 60 / 6 Регистрация: 12.11.2009 Сообщений: 169 |
|
28.05.2010, 15:32 |
6 |
Создаете див, оформляете его как надо, в нужный момент отображаете и дальше обрабатываете как вам надо.
0 |
241 / 9 / 7 Регистрация: 27.08.2009 Сообщений: 868 |
|
30.05.2010, 22:02 [ТС] |
7 |
напишите примерно как кодом это должно выглядеть.
0 |
cooperOk 60 / 60 / 6 Регистрация: 12.11.2009 Сообщений: 169 |
||||
31.05.2010, 01:15 |
8 |
|||
Ну чтото в этом плане. А вообще все зависит от ситуации. Это лишь общий пример
0 |
Skull Fucked |
||||
04.01.2013, 12:22 |
9 |
|||
У тебя ошибка в самом синтаксисе Javascript строка 4.
|
Vovan-VE |
04.01.2013, 12:31
|
Не по теме: Skull Fucked, Правильный ответ был дан 2.5 года назад в первом же ответе.
0 |