javascript - 为什么我的 JS 不能正确从表单中提取值?

标签 javascript jquery html forms

所讨论的 HTML 非常简单:

<form> <input type="text" name="locSearch" id="locSearch" /> <button id="locSearchBtn"><i class="fa fa-search" id="search-icon"></i></button> </form>

js:

$(document).ready(function() {
getsWeather('seattle, wa', 'f');
$("#locSearchBtn").click(function() {
    getsWeather(document.getElementById('locSearch').value, 'f');
});

当我提交表单时(通过按 Enter 键或单击提交图标,页面会重新加载,但使用默认设置(即使用“Seattle, wa 作为 getsWeather 函数的默认参数)。我需要它来拉取输入框中的任何内容并将其用作 getsWeather 函数中的参数,但目前不起作用。

有什么想法吗?如果您需要更多代码来理解它,请告诉我

最佳答案

如果要修改页面,则需要阻止单击按钮时提交表单。有两种方法可以做到这一点:

  1. return false 添加到按钮的 click 处理程序的末尾。这将阻止表单提交(如果客户端启用了 JavaScript)。

  2. type="button" 添加到按钮,使其不再是提交按钮。

理想情况下,如果客户端没有启用 JavaScript,您可以将 #1 与处理表单提交结合起来,以处理少数通过表单提交禁用 JavaScript 的情况下冲浪的人,同时处理启用 JavaScript 的客户端页内更新。

关于javascript - 为什么我的 JS 不能正确从表单中提取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43868638/

相关文章:

javascript - 在 Python/JavaScript 中解析和构造类似于 SQL WHERE 子句的过滤查询

javascript - javascript中有没有返回对象的所有属性的方法?

php - 我们如何才能将值(value)添加到具有飞行效果的篮子中

html - 如何在固定位置设置css中的元素

javascript - 用户离开页面时如何加载 'un-cache' ajax-loaded html

javascript - 如何在类构造函数中记录对象?

javascript - 使用多个数组 json 来填充动态选择

javascript - 如何迭代 `address_component` 以获得 `country` 或任何

javascript - jQuery $ 在 Firefox 中不是一个函数,在 Chrome 中工作并且与 $(document).ready() 一起工作

javascript - 在 html2canvas 事件中设置隐藏字段的值