【问题标题】:Problems reading form data in HTML [duplicate]在 HTML 中读取表单数据时出现问题 [重复]
【发布时间】:2020-02-07 21:09:15
【问题描述】:

我有这个 HTML 代码,我正在使用 ma​​terialize CSS 进行开发。但是,我目前无法从输入字段中读取数据

<form id="two_player">
  <div class="row">
    <div class="input-field col s6">
      <input placeholder="Apelido do jogador 1" id="two_player_one" type="text" class="validate">
      <label for="first_name">Jogador 1:</label>
    </div>
    <div class="input-field col s6">
      <input placeholder="Apelido do jogador 2" id="two_player_two" type="text" class="validate">
      <label for="player_two">Jogador 2:</label>
    </div>
  </div>
  <div class="row">
    <div class="input-field col s6">
      <input placeholder="Número de cartas da 1ª rodada" id="two_player_one_round_one" type="number" min="0" max="13" class="validate">
      <label for="player_one_round_one">Rodada 1:</label>
    </div>
    <div class="input-field col s6">
      <input placeholder="Número de cartas da 1ª rodada" id="two_player_two_round_one" type="number" min="0" max="13" class="validate">
      <label for="player_two_round_one">Rodada 1:</label>
    </div>
  </div>
</form>

如何使用 JavaScript 读取每个输入字段?

【问题讨论】:

  • var value = document.getElementById('two_player_one').value;
  • 您是否尝试过使用常规 JavaScript 来读取 HTML 表单字段?我在这里没有看到任何 JavaScript。

标签: javascript html


【解决方案1】:

您可以使用getElementById() 查找元素,并使用.value 公开其值。

let two_player_one = document.getElementById('two_player_one').value;
let two_player_two = document.getElementById('two_player_two').value;
let two_player_one_round_one = document.getElementById('two_player_one_round_one').value;
let two_player_two_round_one = document.getElementById('two_player_two_round_one').value;
  • getElementById()here 的 MDN 文档。

【讨论】:

  • 按下提交按钮后控制台不显示任何值。 newgame.html:488 VM60:140 DomDistiller 调试级别:0 如果我只使用对标签名称的引用,它会在该输入字段中执行 html 代码。
【解决方案2】:
let val = document.getElementById('an input field ID').value;

    for (var i = 0; i < document.getElementsByTagName('input').length; i++) {
        console.log(document.getElementsByTagName('input')[i].value);
    }

基本上是这样的。 使用for 循环,您循环遍历所有输入元素和console.log() 值(或对值执行任何操作)。第一个基于其ID 定位一个元素并检索它的值。

【讨论】:

  • 按下提交按钮后控制台不显示任何值。 newgame.html:488 VM60:140 DomDistiller 调试级别:0 如果我只使用对标签名称的引用,它会在该输入字段中执行 html 代码。
  • 我假设您的提交按钮是类型提交?将其更改为 type=button
  • 我做了,仍然没有得到任何值...我从第一个控制台日志中删除了 value 属性,它显示了 html 元素,但是我无法获得任何值...
  • 你去 :)
猜你喜欢
  • 2016-05-08
  • 2016-05-02
  • 1970-01-01
  • 2020-03-11
  • 2022-06-21
  • 2019-09-15
  • 1970-01-01
  • 1970-01-01
  • 2021-12-26
相关资源
最近更新 更多