使用 HTML 按钮调用 JavaScript 函数

2023-12-02

我正在尝试使用 HTML 按钮来调用 JavaScript 函数。

这是代码:

<input type="button" value="Capacity Chart" onclick="CapacityChart();">

但它似乎无法正常工作。有一个更好的方法吗?

链接在这里:http://projectpath.ideapeoplesite.com/bendel/toolscalculators.html单击左下部分的容量选项卡。如果值未更改,该按钮应生成警报;如果输入值,则应生成图表。


有几种方法可以使用 HTML/DOM 处理事件。方法没有真正的正确或错误,但不同的方法在不同的情况下有用。

1:HTML中有定义:

<input id="clickMe" type="button" value="clickme" onclick="doFunction();" />

2:在 Javascript 中将其添加到事件的 DOM 属性中:

//- Using a function pointer:
document.getElementById("clickMe").onclick = doFunction;

//- Using an anonymous function:
document.getElementById("clickMe").onclick = function () { alert('hello!'); };

3:并且使用 Javascript 将函数附加到事件处理程序:

var el = document.getElementById("clickMe");
if (el.addEventListener)
    el.addEventListener("click", doFunction, false);
else if (el.attachEvent)
    el.attachEvent('onclick', doFunction);

第二种和第三种方法都允许内联/匿名函数,并且都必须在从文档中解析元素后声明。第一种方法不是有效的 XHTML,因为 onclick 属性不在 XHTML 规范中。

第一种和第二种方法是互斥的,这意味着使用一种方法(第二种)将覆盖另一种方法(第一种)。第三种方法将允许您将任意数量的函数附加到同一个事件处理程序,即使也使用了第一种或第二种方法。

最有可能的是,问题出在你的某个地方CapacityChart()功能。访问链接并运行脚本后,CapacityChart() 函数将运行并打开两个弹出窗口(其中一个根据脚本关闭)。如果您有以下行:

CapacityWindow.document.write(s);

请尝试以下方法:

CapacityWindow.document.open("text/html");
CapacityWindow.document.write(s);
CapacityWindow.document.close();

EDIT
当我看到你的代码时,我以为你是专门为 IE 编写的。正如其他人提到的,您需要替换对document.all with document.getElementById。但是,在此之后您仍然需要修复脚本,因此我建议至少首先在 IE 中运行它,因为更改代码以跨浏览器运行时所犯的任何错误可能会导致更多混乱。一旦它在 IE 中工作,在更新代码时就可以更容易地判断它是否在其他浏览器中工作。

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

使用 HTML 按钮调用 JavaScript 函数 的相关文章

  • 在 Javascript 中实现 Zobrist 哈希

    我需要在 Javascript 中为国际象棋引擎实现 Zobrist 哈希 我想知道实现此目的的最佳方法是什么 现在 我不是计算机科学家 也从未上过正式的算法和数据结构课程 所以如果我在这方面有点偏离 我很抱歉 据我了解 我需要一个 64
  • 提交外部有 INPUT 的表单,并修改值后

    我有一个form 有几个
  • 从数组中删除空字符串,同时保持记录而不循环?

    这个问题在这里被问到 从数组中删除空字符串 同时保留非空字符串的索引记录 https stackoverflow com questions 18113243 remove empty strings from array while ke
  • 如何转义 onClick 处理程序内 JavaScript 代码中的字符串?

    也许我只是想得太难了 但我在弄清楚链接的 onClick 处理程序内的某些 JavaScript 代码中的字符串上使用什么转义时遇到了问题 例子 a href Select a The and 是发生模板替换的地方 我的问题是项目名称可以包
  • 脚本不会从nodejs应用程序中的ejs文件运行

    我正在尝试使用nodejs express mysql和ejs让网页显示图表 但我显然不明白ejs javascript等是如何工作的 我需要运行一个脚本来设置图表 来自 Chart js 模块 但它不会输出任何类型的图表 我尝试过的 将
  • 如何使用javascript将数据存储在xml文件中?

    我是 javascript 新手 并在我的项目中使用它 因为我需要读取 xml 文件 然后在操作后我想将更新后的值存储回 xml 文件中 我成功从 xml 文件获取值 但无法存储值返回到 xml 文件 这是我尝试过的代码
  • React cloneElement 未设置键

    我正在构建一个动态生成键的表控件 我理解这可能不是一个好主意 我想键应该与其代表的数据唯一关联 否则 React 只能为我们生成唯一的 id 但无论哪种方式似乎没有设置按键 我不知道为什么 表中的行是用可以找到的函数生成的here http
  • 如何使用 JQuery 创建新的 img 标签,并使用 JavaScript 对象中的 src 和 id?

    我从基本意义上了解 JQuery 但对它绝对是新手 并且怀疑这很容易 我在 JSON 响应中获得了图像 src 和 id 转换为对象 因此在 responseObject imgurl 和 responseObject imgid 中获得了
  • 为什么变量 1 += 变量 2 比变量 1 = 变量 1 + 变量 2 快得多?

    我继承了一些 Python 代码 用于创建巨大的表 最多 19 列宽 5000 行 花了九秒用于在屏幕上绘制表格 我注意到每一行都是使用以下代码添加的 sTable sTable n GetRow where sTable是一个字符串 我将
  • 如何在网页上显示进度条直到网页完全加载?

    我想在网页中显示进度条 加载弹出窗口 直到页面完全加载 我的网页很重 因为它包含一个 HTML 编辑器 这是一个基于 jQuery 的 HTML 编辑器 需要很多时间才能完全加载 在加载时 我希望在页面上显示一个进度条 该进度条将在整个页面
  • Android:Html 锚链接仅在 Web 视图中有效一次

    在使用锚链接加载 html 内容时 我在 webview 中遇到一些奇怪的问题 以下代码非常适合锚标记 但是只有一次 第二次当我按下锚标签时不工作 protected void onCreate Bundle savedInstanceSt
  • html2canvas z-index 不起作用

    我正在使用 html2canvas 库将 div 转换为 png 我有一个关于z index 正如你在图片上看到的 我有盒子 在一个盒子里我有一个用于背景着色的 div z index 0 它随着高度值和数字的 div z index 1
  • 我可以跳过 HTML5 中“style”标签中的属性“type”吗? [复制]

    这个问题在这里已经有答案了 根据W3学校 http www w3schools com tags tag script asp 我可以跳过属性type对于标签script在 HTML5 中 Evidence HTML 4 01 和 HTML
  • setImmediate 与 nextTick

    Node js 0 10 版本今天发布并推出setImmediate The API变更 https github com nodejs node wiki API changes between v0 8 and v0 10文档建议在进行
  • 用于标记查询的 JavaScript 正则表达式

    您好 我偶然发现了一个与正则表达式相关的问题 但我无法解决 我需要对查询进行标记 将查询分成几部分 假设以下一个为例 These are the separate query elements These are compound comp
  • 如何删除链接点击时的轮廓?

    当我单击网站上的链接时 它会在链接周围创建一个轮廓 如下所示 我尝试添加 a image link focus outline 0 and a outline none 但似乎没有什么可以摆脱它 有办法去除吗 你可以使用这个 a activ
  • 可访问性和所有这些 JavaScript 框架

    我研究一些 JavaScript 框架 例如 Backbone js 和 Batman js 已经有一段时间了 虽然我真的很喜欢它们 但我一直在关注一件棘手的事情 这个问题就是可访问性 作为一名网络开发人员 我一直试图让我的网站和应用程序考
  • javascript中的实时文本颜色变化[重复]

    这个问题在这里已经有答案了 可能的重复 使用Jquery改变Textarea中某些单词的颜色 https stackoverflow com questions 2990157 change the color of certain wor
  • 推迟内联 JavaScript 执行? [复制]

    这个问题在这里已经有答案了 在我的网站中 我有许多内联 JavaScript 片段 其中大多数都需要 jquery 和类似的东西 但我想将 jquery 加载推迟到页面渲染之后 这意味着 我的内联 javascript 将在加载 jquer
  • $window.location.href 在 AngularJS 中不起作用

    我正在构建一个基本的AngularJS登录页面和 window location href没有将页面重定向到我的系统中由 WAMP 托管的新 html 我什至尝试将其重定向到谷歌 什么都没发生 我在这里尝试了所有可用的解决方案 但似乎没有任

随机推荐

  • gnuplot 指定标签列

    我正在 gnuplot 中做一个多重绘图 我想从某些列中选择点的标签 例如 假设数据文件是 year temp label1 year humidity label2 1990 30 hot 1991 100 wet 1992 25 war
  • PHP 缓存的最佳方式

    目前 我正在尝试编写一个关于电子商务的软件 我的数据通常只是 MySQL 查询 例如语言变量结果 错误号猫 gt No category found 在 PHP 中缓存这些数据的最佳且简单的方法是什么 apc
  • 将字符串列表转换为列表列表,列表列表中的每个元素作为字符串中的每个可迭代字母。全部排成一行

    使用字符串 x 列表 x foo bar 我怎样才能在一行中完成以下操作 y for word in x y append n for n in word print y 导致 f o o b a r With list和简单的列表理解 g
  • 在回调函数中访问 $(this)

    我正在努力将prompt 更改为jPrompt 因为IE阻止prompt 运行 问题是 this 不再正常工作 因为 jPrompt 不返回值 而是使用回调函数 假设我有这样的东西 它有效 a foo click function this
  • Jupyter 笔记本并排显示两个 pandas 表

    我有两个 pandas 数据框 我想在 Jupyter 笔记本中显示它们 做类似的事情 display df1 display df2 将它们显示在另一个下面 我想在第一个数据框的右侧有第二个数据框 有类似的问题 但看起来人们对将它们合并到
  • 使用 JQuery 更改 CSS 属性

    今天我看到了一个非常简单的方法来改变font size使用 jQuery 的元素 它看起来与以下内容非常相似 这显然不起作用 但我想知道缺少什么 我记得这只是一行代码 注 我已经尝试过jQuery document body css fon
  • 我可以使用 ObjectChangeListener 监听任何对象的更改吗?

    我有一个Integer称为x 如果它发生变化 那么我想在 GUI 中更新我的表 听 x 我已经尝试过 ChangeEvent y new javax swing event ChangeEvent x 我实施javax naming eve
  • Netlogo 数组需要文字值

    该数组需要一个文字值 set chrom forage min forage rate share min share rate mating treshold print chrom 我该如何处理 我真的不明白 Netlogo 中的数组
  • DDD 和聚合事务边界

    假设我有一个名为文档的对象 它有一堆图像 音频 视频等形式的子对象 因此 我的应用程序的用户可以通过键入一些文本 添加图像 视频等来创建文档 据我了解在DDD中 文档是一个聚合体 而图像 视频总是与作为根的文档相关联 基于这种理解 我将如何
  • 处理 html 表单提交中的 UTF 字符

    我的 html 表单有一些输入文本字段 这些字段可能会获取中文 日文 欧洲字符 特殊字符 例如 等 简而言之 就是 unicode 字符 为了在服务器端 使用 php 处理这些值 我可以假设所有浏览器在提交表单时默认都以 UTF 8 格式对
  • 使用 Perl 正则表达式确定 URI 是否有效

    对于我正在开发的应用程序 我需要一个 Perl 脚本 它循环遍历大量 CSV 文件并确保每一行都包含有效的 URI 我之前已经问过一个关于解析 CSV 文件的问题 并且我已经开始使用Text CSV让我的生活变得更轻松 现在我面临确保 UR
  • 如何将 jQuery 验证与“chosen”插件一起使用?

    我有一些
  • C#:在 RichTextBox 中粘贴 RTF,但保留颜色和格式(即:粗体、下划线等)

    是否可以将文本粘贴到富文本框中 同时保留粘贴内容在富文本框中使用的字体 换句话说 我想从 Word 中复制一些已格式化的内容 即 使用字体 X 并带有下划线和蓝色的文本 然后将其粘贴到我的 RichTextBox 中 我希望粘贴的内容具有与
  • 使用多个参数调用 shell 命令

    我正在尝试通过 Perl 脚本自动创建证书 我要运行的命令是 easyrsa build client full clientname nopass 我认为应该在 Perl 中完成的方式是 my arguments build client
  • UITextField 仅允许使用字母数字字符

    我该如何在 iOS 中只允许输入字母数字字符UITextField 使用 UITextFieldDelegate 方法 textField shouldChangeCharactersInRange replacementString 使用
  • SimpleTestCursor robolectric 3.0--编译问题

    我正在尝试在我的应用程序中测试光标 但对于以下导入 我收到错误消息 无法解析符号 测试员 我正在使用 Robolectric 3 0 为什么导入无法解析 我是否缺少一些依赖项 我看过互联网但没有支持 请帮忙 我正在尝试使用 this API
  • 如何将张量板与 tf.layers 一起使用?

    由于权重没有明确定义 我如何将它们传递给摘要编写者 例如 conv1 tf layers conv2d tf reshape X FLAGS batch 3 160 320 filters 16 kernel size 8 8 stride
  • Eclipse PyDev 抛出虚假错误

    我昨天更新了 PyDev Eclipse 现在它告诉我没有 name其他保留字 内置函数无效 但脚本运行良好 我在这个论坛上读到 问题涉及错误导入内置程序 我尝试过更改解释器并重新添加它 但没有成功 有人可以帮我吗 错误 未定义的变量mai
  • glut - 按住某个键

    我有一些基本代码来使用 glut 收集按键向上和按键按下事件 如果我按住一个键 我会连续触发事件 下 上 下 上 下 上 而不是预期的向下 开始时一次 和向上 一次 最后 include
  • 使用 HTML 按钮调用 JavaScript 函数

    我正在尝试使用 HTML 按钮来调用 JavaScript 函数 这是代码