javascript - 选择表单的值 - JavaScript

标签 javascript

我是 JavaScript 的新手,我想了解代码的工作原理。

在我的表单中,我有两个输入:

  • 名字:必须由用户填写

  • 国家:必须由用户选择(但国家已经存在)

一旦用户点击“添加这个目的地”按钮,它应该会出现他的名字加上他选择的目的地。 我明白为什么会出现“目的地”。 但是,如果表单为空,我不明白如何传递名字。即使我在“名字”中写了一些东西,它的值也不会传递到我要显示的结果字符串中。

我的问题有两个:

1) 为什么我的代码不起作用?

2) 更重要:浏览器(?)如何理解“名字”字段从空到填充名称/字符串的变化?

var x;
var destination = document.myTravelForm.destination.value;
var firstName = document.myTravelForm.firstname.value;


x = document.getElementById("banana").addEventListener("click", function() {
      document.getElementById("travelerInfo").innerHTML = firstName + " you chose: " + destination
<html>

<head>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>
  <h1> Welcone to the booking site </h1>
  <h4> Please, choose a destination </h4>
  <form name="myTravelForm">
    <label> First name: </label><br>
    <input type="text" name="firstname" id="firstname" /><br>
    <br>
    <select name="destination">
      <option value="Antarctica" selected>Antarctica</option>
      <option value="Costa Rica">Costa Rica</option>
    </select>
    <input type="button" value="Add this destination" id="banana" />
  </form>
  <div id="travelerInfo"></div>
  <script type="text/javascript" src="script.js"></script>
</body>

</html>

最佳答案

你需要在点击按钮时获取表单值,如果你在点击之前获取它们,你将获得它们的初始值。尝试这样的事情:

var x;

x = document.getElementById("banana").addEventListener("click", function() {
	var destination = document.myTravelForm.destination.value;
	var firstName = document.myTravelForm.firstname.value;
        document.getElementById("travelerInfo").innerHTML = firstName + " you chose: " + destination;
});
<html>

<head>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>
  <h1> Welcone to the booking site </h1>
  <h4> Please, choose a destination </h4>
  <form name="myTravelForm">
    <label> First name: </label><br>
    <input type="text" name="firstname" id="firstname" /><br>
    <br>
    <select name="destination">
      <option value="Antarctica" selected>Antarctica</option>
      <option value="Costa Rica">Costa Rica</option>
    </select>
    <input type="button" value="Add this destination" id="banana" />
  </form>
  <div id="travelerInfo"></div>
  <script type="text/javascript" src="script.js"></script>
</body>

</html>

关于javascript - 选择表单的值 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51061092/

相关文章:

javascript - 使用 IE、FF 和 Chrome 通过 JavaScript 从 Excel 中检索数据

javascript - 在另一种方法上过滤方法?

javascript - 如何使用 Jquery 中的 onclick 按钮在多个 div 上使用显示和隐藏

javascript - 关注ajax生成的文本框

javascript - 哪种 Azure blobService 方法最适合在 JavaScript 中存储 JSON?

javascript - 强制定义可选的接口(interface)属性

javascript - 如何在AWS上部署静态js应用程序?

javascript - 使用 HTML5 &lt;input&gt; 字段抓取动态生成的网页

javascript - 如何在 Angular 2 中执行无限动画?

javascript - jQuery 悬停事件切换类未触发