Указанное значение "undefined" не является допустимым числом - PullRequest
1 голос
/ 23 марта 2019

Я учусь на экзамене, который посвящен материальным запасам компании.Я думал, что смогу сделать себе одолжение и узнать что-то новое о кодировании во время подготовки к этим экзаменам.Обычно я работаю только с очень небольшим JavaScript в моей компании.

Я пытаюсь создать таблицу с двумя входными строками.

Строка 1: вход от меня Строка 2: Суммы моего ввода

я вставил кнопку, которая должна дать значение, которое я ввел в строке 1, другому полю в строке 2.

Когда мой тип ввода - число, я получаю это:указанное значение "undefined" не является допустимым числом.Значение должно соответствовать следующему регулярному выражению: -? (\ D + | \ d +. \ D + |. \ D +) ([eE] [- +]? \ D +)?

Когда мой тип вводатекст, который я получаю: undefined

Я почти уверен, что что-то не так с моей функцией, но я не могу понять это, и когда я ищу свою проблему, я нахожу только более сложные случаи, которые я также не понимаю.

Заранее благодарим за любую помощь:)

<script>
    function test() {
        var x = document.getElementById("1").value;
        document.getElementById("ro").value = x;
    }
</script>
</head>
<body>
<table>
    <tr><td><b><button onclick="test()">test</button></b></td></tr>
    <tr><td>&nbsp;</td></tr>
    <tr>
        <td>
            <div id="flex-table">
                    <table id="names">
                    <!--Names--><!--Names-->
                        <caption>A: Vermögen</caption>
                            <tr><th>I. Anlagevermögen</th></tr>
                            <tr><td class="first">Grundstücke</td></tr>
                            <tr><td class="second">Gernotstraße</td> </tr>
                    </table>
                    <table id="input">
                    <!--Input--><!--Input-->
                        <caption>&nbsp;</caption>
                            <tr><th><p>€</p></th></tr>
                            <tr><td>&nbsp;</td></tr>
                            <tr><td><form id="1"><input type="number" value="0"></form></td></tr>
                    </table>
                    <table id="values">
                    <!--Values--><!--Values-->
                        <caption>&nbsp;</caption>
                            <tr><th><p>€</p></th></tr>
                            <tr><td>&nbsp;</td></tr>
                            <tr><td><input id="ro" type="number"value="0" readonly></td></tr>
                    </table>
                </div>
        </td>
    </tr>
</table>

Ответы [ 3 ]

1 голос
/ 23 марта 2019

Вы читаете значение form, которое не имеет значения. Возможно, вы хотите прочитать значение из элемента input.

function test() {
  var x = document.getElementById("1").value;
  document.getElementById("ro").value = x;
}
<table>
  <tr>
    <td><b><button onclick="test()">test</button></b></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>
      <div id="flex-table">
        <table id="names">
          <caption>A: Vermögen</caption>
          <tr>
            <th>I. Anlagevermögen</th>
          </tr>
          <tr>
            <td class="first">Grundstücke</td>
          </tr>
          <tr>
            <td class="second">Gernotstraße</td>
          </tr>
        </table>
        <table id="input">
          <caption>&nbsp;</caption>
          <tr>
            <th>
              <p>€</p>
            </th>
          </tr>
          <tr>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td>
              <input id="1" type="number" value="0">
            </td>
          </tr>
        </table>
        <table id="values">
          <caption>&nbsp;</caption>
          <tr>
            <th>
              <p>€</p>
            </th>
          </tr>
          <tr>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td><input id="ro" type="number" value="0" readonly></td>
          </tr>
        </table>
      </div>
    </td>
  </tr>
</table>
1 голос
/ 23 марта 2019

Ваша вторая таблица должна быть исправлена ​​следующим образом.Значение id «1» ссылается на элемент формы, а не на элемент ввода.

<table id="input">
     <!--Input--><!--Input-->
     <caption>&nbsp;</caption>
     <tr><th><p>€</p></th></tr>
     <tr><td>&nbsp;</td></tr>
     <tr><td><form><input type="number" value="0" id="1"></form></td></tr>
</table>
1 голос
/ 23 марта 2019

Ошибка

  1. Первым делом id не только числовой.поэтому вы должны смешать с некоторой строкой
  2. И document.getElementById("string1") помещается с form без ввода. Поэтому добавьте идентификатор для ввода вместо form

<script>
  function test() {
    var x = document.getElementById("string1").value;
    document.getElementById("ro").value = x;
  }
</script>


<body>
  <table>
    <tr>
      <td><b><button onclick="test()">test</button></b></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>
        <div id="flex-table">
          <table id="names">
            <!--Names-->
            <!--Names-->
            <caption>A: Vermögen</caption>
            <tr>
              <th>I. Anlagevermögen</th>
            </tr>
            <tr>
              <td class="first">Grundstücke</td>
            </tr>
            <tr>
              <td class="second">Gernotstraße</td>
            </tr>
          </table>
          <table id="input">
            <!--Input-->
            <!--Input-->
            <caption>&nbsp;</caption>
            <tr>
              <th>
                <p>€</p>
              </th>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>
                <form><input id="string1" type="number" value="0"></form>
              </td>
            </tr>
          </table>
          <table id="values">
            <!--Values-->
            <!--Values-->
            <caption>&nbsp;</caption>
            <tr>
              <th>
                <p>€</p>
              </th>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td><input id="ro" type="number" value="0" readonly></td>
            </tr>
          </table>
        </div>
      </td>
    </tr>
  </table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...