подсказка JavaScript не отображается - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь создать некоторый код для класса, который предлагает пользователю ввести три числа, а затем преобразует некоторые вычисления в эти числа, математика состоит в том, чтобы возвести в квадрат одно число, умножить и умножить число на PI, затем отобразить их в соответствующемклетки.В данный момент мой onClick не работает, и пользователю не выдается подсказка.У меня есть функции min и max, так что это необходимо. Вот мой код:

function promptForNumber(promptString, min, max) {
  Array.prototype.max = function() {
    return Math.max.apply(null, this);
  };

  Array.prototype.min = function() {
    return Math.min.apply(null, this);
  };
}

function populateRow(row) {
  var number = promptForNumber("Enter your number");
  row.cells[0].innerHTML = number;
  row.cells[1].innerHTML = Math.pow(number, 2);
  row.cells[2].innerHTML = (number / Math.PI).toFixed(4);
}

function isNotANumber(NaN) {
  var isNotANumer = promptForAValidNumber("Please enter a 
    valid number ")
  }
table,
th,
tr,
td {
  border-collapse: collapse;
}

table {
  width: 80%;
  margin: 10%;
}

th {
  width: 33%;
  border: 2px solid black;
  justify-content: space-evenly;
  height: 25px;
  background-color: white;
}

td {
  border: 1px solid black;
  padding: 1%;
  text-align: center;
  background-color: greenyellow;
}
<!DOCTYPE html>

<html lang="en">

<head>
  <title>Assignment 2</title>
</head>

<body>
  <table>
    <tr>
      <th>Number</th>
      <th>Squared</th>
      <th>Divided by Pi</th>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </table>
</body>

</html>

Ответы [ 3 ]

0 голосов
/ 21 февраля 2019

Это похоже на домашнее задание, поскольку вы упомянули, что это для класса, поэтому я не могу дать вам точное решение проблемы.Тем не менее, я укажу, что не так с вашим кодом на данный момент.

  1. Вы упомянули, что ваш "onClick" не работает, но у вас нет никаких функций onClick в этом коде.
  2. Вам необходимо использовать метод window.prompt (), чтобы запросить ввод данных пользователем в JS.

Вам нужно создать кнопку, которую пользователь может нажать, чтобы получить предупреждение.Добавьте на эту кнопку прослушиватель событий, который предлагает пользователю ввести номер.Вы можете получить помощь с этим здесь .После того, как число из приглашения будет сохранено в переменной, используйте эту переменную для выполнения различных математических операций и добавьте их в таблицу.

0 голосов
/ 21 февраля 2019

На самом деле вам нужно добавить список событий, чтобы прослушивать события щелчка.Может что-то вроде

<html lang="en">
 <head>
    <title>Assignment 2</title>
     <style>
            table, th, tr, td {
                border-collapse: collapse;
            }
            table {
                width: 80%;
                margin: 10%;
            }
            th {
                width: 33%;
                border: 2px solid black;
                justify-content: space-evenly;
                height: 25px;
                background-color: white;
            }
            td {
                border: 1px solid black;
                padding: 1%;
                text-align: center;
                background-color: greenyellow;
            }
     </style>
    </head>
 <body>
   <table>
    <tr>
        <th>Number</th>
        <th>Squared</th>
        <th>Divided by Pi</th>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td></td>
    </tr>
  </table>
  <script>
function promptForNumber(promptString, min, max) {
    Array.prototype.max = function() {
        return Math.max.apply(null, this);
    };

    Array.prototype.min = function() {
        return Math.min.apply(null, this);
    };
}

function populateRow(row) {
    var number = window.prompt("Enter your number");
    var cell = row.getElementsByTagName("td");
    cell[0].innerHTML = number;
    cell[1].innerHTML = Math.pow(number, 2);
    cell[2].innerHTML = (number / Math.PI).toFixed(4);

}

function isNotANumber(NaN) {
    var isNotANumer = promptForAValidNumber("Please enter a valid number")
}

var table = document.getElementsByTagName("table")[0];
var rows = table.getElementsByTagName("tr");
console.log('rows', rows);
for (let i = 0; i < rows.length; i++) {
    let currentRow = table.rows[i];
    currentRow.addEventListener("click", function() {

        populateRow(currentRow);

    })


};


 </script>
 </body>
 </html>
0 голосов
/ 21 февраля 2019

У вас есть дополнительная строка в вашем коде подсказки, пожалуйста, исправьте ваш код, как показано ниже:

function isNotANumber(NaN) {
    var isNotANumer = promptForAValidNumber("Please enter a valid number")
}

Также вы должны использовать стандартный метод подсказки:
https://www.w3schools.com/jsref/met_win_prompt.asp

...