提交时将表单数据发送到 Javascript

2024-01-02

好吧,我觉得这应该很简单;所以要么我完全错过了这里和我读过的其他网站上的问题的要点,要么没有在相同的上下文中被问到......

我有一个非常简单的表单元素(如下)

<form>
  <input type="text" id="searchTerm" />
  <input type="submit" value="Submit" id="submitButton" />
</form>

基本上我想做的就是当Submit单击按钮,将值输入到text盒子传递给JavaScript Function和控制台记录(目前)。

这看起来好像已经被问了一百万次,但我读过的问题并没有回答我的问题(我不认为)。

Edit感谢大家的回复;最大的问题是我试图引用外部函数Javascript在表单元素之后调用的文件。


没有必要再添加一个getElementById()在提交表单处理函数内。我很困惑为什么这种方法如此普遍。如果您需要获取表单的多个/所有值,您会怎么做?写几十个元素选择器?

我认为以下内容更加清晰:

输入可以包括name方便他们访问的属性:

  function submitForm(event) {
    alert(event.target.elements.searchTerm.value)
    return false;
  }
<form onsubmit="submitForm(event)">
  <input name="searchTerm"/>
  <button>Submit</button>
</form>

更好的是,

function submitForm(that) {
  alert(that.searchTerm.value)
  return false;
}
<form onsubmit="submitForm(this)">
  <input name="searchTerm"/>
  <button>Submit</button>
</form>

在处理程序本身中,您甚至可以直接访问值:

<form onsubmit="alert(searchTerm); false">
  <input name="searchTerm"/>
  <button>Submit</button>
</form>

尽管我不知道为什么最新的例子有效;尚未找到任何与此相关的文档;我开了一个问题here https://stackoverflow.com/q/57048009/3779853.

如果您通过 JS 注册事件处理程序,this(在非 lambda 函数中)已经指向表单元素,所以你也可以这样做

document.querySelector('#myForm').addEventListener('submit', function() {
  event.preventDefault()
  alert(this.elements.searchTerm.value)
});
<form id="myForm">
  <input name="searchTerm"/>
  <button>Submit</button>
</form>

如果您想从 HTML 表单中获取键/值映射(普通)对象,请参阅这个答案 https://stackoverflow.com/a/57047908/3779853.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

提交时将表单数据发送到 Javascript 的相关文章

  • jquery从变量中删除html元素

    我将 html 保存在变量中 var itinerary events today html 我有很多 html 和一个按钮我想删除 它的 ID 为 myButton 如何从变量中保存的 html 中删除它 我建议这种方法 var itin
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • HTML 中部分着色的阿拉伯语单词

    我不会说阿拉伯语 但我需要我们网站上对阿拉伯语的具体支持 我需要将部分阿拉伯语单词放在 span 与单词其他部分的风格不同 当我输入两个字符时 and 它们被组合成word 但是当我使用 HTML 标记时 span span 这些字母在输出
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • 如何在react-native中获取Text组件的onPress值

    我是一名新的 React Native 开发人员 我想使用 onPress 获取 Text 组件的值并将其传递给函数
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • HTML 离线应用程序缓存,列出下载的文件

    作为我正在构建的离线 Web 应用程序的加载屏幕的一部分 使用缓存清单 http developer apple com library safari documentation iPhone Conceptual SafariJSData
  • 如何在类似控制台的环境中运行 JavaScript?

    我正在尝试遵循这里的示例 http eloquentjavascript net chapter2 html http eloquentjavascript net chapter2 html and print blah 在浏览器中运行时
  • 如何获取给定 DOM 元素的所有定义的 CSS 选择器?

    如何使用 jQuery 获取给定 DOM 元素的所有定义的 CSS 选择器 定义后 我的意思是在应用于任何样式表的所有 CSS 选择器document 在某种程度上 这类似于 FireBug 实现的功能 其中显示所选 DOM 元素的所有应用
  • Jquery 验证不能正确验证数字?

    我在使用 jquery 非侵入式验证验证数字时遇到问题 我使用的版本是 ASP NET MVC 3 jQuery 1 9 1 jQuery 用户界面 1 10 1 JQuery 验证 1 11 0 我试图验证的输入是
  • 更改文本输入标签中文本的大小?

    我有一个很大的文本输入框 但我无法更改字体大小
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • 如何在 pg-promise 中设置模式

    我正在搜索的文档pg 承诺 https github com vitaly t pg promise特别是在创建客户端时 但我无法找到设置连接中使用的默认架构的选项 它始终使用public架构 我该如何设置 通常 为数据库或角色设置默认架构
  • 如何获取浏览器视口中当前显示的内容

    如何获取当前正在显示长文档的哪一部分的指示 例如 如果我的 html 包含 1 000 行 1 2 3 9991000 并且用户位于显示第 500 行的中间附近 那么我想得到 500 n501 n502 或类似的内容 显然 大多数场景都会比
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中
  • 使用 Ajax 请求作为源数据的 Jquery 自动完成搜索

    我想做的事 我想使用 jquery 自动完成函数创建一个输入文本字段 该函数从跨域curl 请求获取源数据 结果应该与此示例完全相同 CSS 在这里并不重要 http abload de img jquerydblf5 png http a
  • Schema.org 的常见问题解答页面

    我有一个常见问题解答页面 我想用更好的 html 架构来实现它
  • jQuery 对象相等

    如何确定两个 jQuery 对象是否相等 我希望能够在数组中搜索特定的 jQuery 对象 inArray jqobj my array 1 alert deviceTypeRoot deviceTypeRoot False alert d
  • FireFox 中的“contenteditable = true”高度问题

    当有空的时候div with contenteditable true CSS contenteditable true border 1px dashed dedede padding 3px HTML div div 在 IE 和 Ch

随机推荐

  • 装箱暴力法

    我需要制作解决装箱问题的程序 但我已经制作了首次拟合和贪婪算法 但我的讲师说在某些情况下它不会找到问题的最小解决方案 所以我决定尝试暴力破解 但我不知道它应该如何检查所有可能的解决方案 所以是的 有人可以向我解释一下或者给出伪代码什么的 我
  • 如何找到二进制文件的长度

    我有一个大小 2 的二进制文件 但我想将所有数据读入一个向量 但我不知道如何找到该二进制数据的总长度 f lt file a bin rb readBin f integer size 2 n Just use file info a bi
  • Rails 3/ Git/ Bundler Fatal 无法解析对象

    尝试捆绑安装时 我收到以下错误 Fatal could not parse object 8c11dd Git error command git reset hard 8c11dd If this error persists you c
  • 如何在 C++11 中创建线程对象数组?

    我想学习如何使用新的 C 标准库创建多个线程并将它们的句柄存储到数组中 我怎样才能启动一个线程 我看到的示例使用构造函数启动线程 但如果我使用数组 则无法调用构造函数 include
  • Python 正则表达式:异或运算符

    假设我有这样的字符串 DT NN IN NN DT RB JJ NN DT JJ JJ NN DT RB RB NN NN DT RB RB 所以 我有一个字符串列表 list DT NN IN NN DT RB JJ NN DT JJ J
  • std::map 的变量模板 + 通用 lambda

    An C 14 变量模板的答案 目的是什么 有使用示例吗 https stackoverflow com a 21162680 1508519提出了一个变量模板 泛型 lambda 的使用示例 如下所示 void some func tem
  • 当快速加载选项打开且最大插入提交大小设置为零时,SSIS 如何重定向 OLEDB 目标中的行

    我正在使用启用快速加载的 OLEDB 目标 在错误输出中 有 3 个选项 失败组件 忽略失败 和 重定向 如果我选 择 重定向 它会显示启用 快速加载 选项的 OLEDB 无法重定向 是否有其他方法来处理该错误这些类型的 Oledb 目标
  • 我的第一个表值函数和游标

    我有这样的疑问 SELECT name lastname FROM contestant WHERE name John AND lastname Smith 我从上面的查询中得到了几个结果 我需要将它们用于以下查询 SELECT name
  • 未找到快速命令

    由于某种原因 在我的机器上全局安装 Express 后npm install g express if I cd进入目录并尝试运行express 我收到以下错误 express command not found 即使我运行它sudo我仍然
  • AssertionError:将使用不支持的标签('cp310','cp310','linux_x86_64')构建轮子

    当我尝试使用 Python 3 10 安装 numpy 时 我收到此消息 如何解决这个问题 Copying numpy egg info to build bdist linux x86 64 wheel numpy 1 19 3 py3
  • 使用 Node.js、流和 Promise 下载文件

    这是我的代码片段 var processListing function directoryItems console log foreach var itemsToDownload directoryItems forEach funct
  • 骨干.js https

    整个早上都在谷歌上搜索 但找不到答案 官方文档中甚至没有 https 或 ssl 字样 目前我有类似的东西 var A backbone Collection extend url a 有没有办法让 url https 而不使用绝对路径 我
  • 如何避免 uitextfield 旁边的点

    当文本大于 uitextfield 的宽度时 是否可以删除 uitextfield 旁边显示的点 如果您调用以下代码使键盘可见 这是可能的 self yourTextField 成为FirstResponder 然后较大的文本从左侧被剪切
  • Airflow - 获取 dag run 的开始时间

    是否有可能获得气流中 dag 的实际开始时间 我所说的开始时间是指 dag 的第一个任务开始运行的确切时间 我知道我可以使用宏来获取执行日期 如果使用trigger dag运行作业 这就是我所说的开始时间 但如果作业按每日计划运行 那么 e
  • 无法在中心显示材质 ui 小吃栏

    我有一个材料 ui 小吃栏 我需要将其显示在屏幕中间 下面是我试图传递的属性 使其显示在屏幕中心 但显示在屏幕顶部 anchorOrigin vertical center horizontal center https codesandb
  • 出现错误:/bin/sh scriptcs:找不到命令

    我正在使用 Visual Studio Code for Mac 运行扩展 CodeRunner 我有一个简单的程序 using System namespace HelloWorldApplication class HelloWorld
  • “X-UA-兼容”内容=“IE = 9; IE = 8; IE = 7; IE = EDGE”

    这句话究竟是什么意思呢 一些例子使用 分离 IE 的版本 而有些则使用 哪个是对的 命令IE 9 IE 8 IE 7 IE EDGE有一定的重要性 我想知道这一点 Edit 我在用 如果您支持 IE 对于 Internet Explorer
  • 获取 Jasper Reports 表中第一行和最后一行的第一个字母

    I am using JasperSoft Studio in Eclipse to generate a signup sheet for a church The page header has the label of what la
  • 从 python 列表中删除 '\n' 列表项

    我有一个列表 其中包含一个项目 n 我想删除它 但是 删除命令不起作用 谁能告诉我我做错了什么 def main list1 ng g ng g g n n ns ns s n nd d nd nd d d d n n print list
  • 提交时将表单数据发送到 Javascript

    好吧 我觉得这应该很简单 所以要么我完全错过了这里和我读过的其他网站上的问题的要点 要么没有在相同的上下文中被问到 我有一个非常简单的表单元素 如下