Итак, вот, что мне нужно сделать
Начните с подтверждения того, хочет ли пользователь добавить курс, если они нажмут ok, он дает им приглашение ввести курс, если они нажмут отменить, он заканчивает программу.
Когда пользователь дает ответ на курс, им необходимо дать оценку для этого конкретного курса.
После того, как эти два вопроса будут выполнены, ему нужно вернуться, чтобы спросить их, хотят ли они снова добавить курс
это то, что я до сих пор
while (true) {
var entering = confirm('Do you want to enter a Course?');
if (entering = true) {
break;
}
}
var codeInput = '';
var gradeInput = '';
while (true) {
codeInput = prompt('Enter Course Code');
if (codeInput.length === 7) {
break;
}
alert('invalid code');
}
gradeInput = prompt('Enter Grade for ' + codeInput + '');
document.writeln('<table border="1">');
document.writeln('<tr>');
document.writeln('<th>Course Code</th>');
document.writeln('<th>Grade</th>');
document.writeln('<tr>');
document.writeln('<th>' +
codeInput +
'</th>');
document.writeln('<th>' +
gradeInput +
'</th>');
document.writeln('</tr>');
Таким образом, я не уверен, как зацикливать его до начала и как остановить программу, когда вы нажмете на отмену, когда она спросит, хотите ли вы добавить еще один курс. Я также не знаю, как это сделать, если пользователь попросит ввести другой курс/класс, как сделать их отдельным ответом, чтобы добавить ниже в таблицу.
Я надеюсь, что это имеет смысл, и если кто-то может помочь, это будет милое спасибо!
пс. Это нужно сделать, используя javascript no HTML.
Оберните свой код в функцию, чтобы вы могли называть его каждый раз, когда вы входите в град, чтобы спросить его снова.
Я предлагаю создать таблицу и заголовок, а затем добавить строки, когда пользователь отвечает на подсказки:
var number_of_rows = 0;
var table = document.createElement('table');
table.border = '1';
ask();
function ask() {
var codeInput = '';
var gradeInput = '';
var entering = confirm('Do you want to enter a Course?');
if (!entering) {
return;
} else {
while (true) {
codeInput = prompt('Enter Course Code');
if (codeInput.length === 7) {
break;
}
alert('invalid code');
}
}
gradeInput = prompt('Enter Grade for ' + codeInput + '');
if (number_of_rows === 0) {
var row = document.createElement('tr');
var th_1 = document.createElement('th');
var th_2 = document.createElement('th');
var txt_1 = document.createTextNode("Course Code");
var txt_2 = document.createTextNode("Grade");
th_1.appendChild(txt_1);
th_2.appendChild(txt_2);
row.appendChild(th_1);
row.appendChild(th_2);
table.appendChild(row);
number_of_rows++;
}
console.log(number_of_rows);
table = insertRow(codeInput, gradeInput);
document.body.appendChild(table);
number_of_rows++;
ask();
}
function insertRow(codeInput, gradeInput) {
var row = document.createElement('tr');
var td_1 = document.createElement('td');
var td_2 = document.createElement('td');
var txt_1 = document.createTextNode(codeInput);
var txt_2 = document.createTextNode(gradeInput);
td_1.appendChild(txt_1);
td_2.appendChild(txt_2);
row.appendChild(td_1);
row.appendChild(td_2);
table.appendChild(row);
return table;
}
Согласно https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt
Если пользователь нажимает кнопку "Отмена", эта функция возвращает значение null
Так что все, что вам нужно, это проверить, является ли значение нулевым, чтобы узнать, нажал ли пользователь отменить
if (codeInput == null) break