如何使用HTML按钮调用javascript函数
how to call javascript function using HTML button
我有这段HTML代码,如何在不更改HTML文件的情况下调用javascript函数。
<tr>
<td><div id="number1">1</div></td>
<td><div>+</div></td>
<td><div id="number2">2</div></td>
<td><div>=</div></td>
<td><input type="text"></input></td>
<td><input type="button" value="Check"></input></td>
</tr>
尝试使用此javascript代码,但不起作用
var button = document.getElementsByTagName("input");
button.onclick = function(){ alert('hello!'); };
试试这个
var button = document.getElementsByTagName("input");
button[1].onclick = function(){ button[0].value=3; };
- 我们应该得到所有的输入元素,结果是2个输入元素。第一个是文本,第二个是按钮
- 那么我们应该使用第二个按钮[1]。。。点击按钮,我们调用函数,并在文本输入中写入值3(1+2=3)
document.getElementsByTagName("input");
为您提供输入列表,而不仅仅是一个按钮。
在这里,button.onclick = function(){ alert('hello!'); };
您试图将点击处理程序附加到列表本身,这是无效的。您必须逐个绑定处理程序。
编辑:
使用document.querySelector()
:
//gets the input where type is button and value is check
var btn = document.querySelector('input[type=button][value=Check]');
//add click handler
btn.onclick = function() {
alert('You clicked !');
};
<input type="button" value="Check"></input>
使用document.getElementsByTagName()
:
var inputs = document.getElementsByTagName('input'); //get all inputs
var i = 0;
var btn; //temp for button
var t //temp
while (t = inputs[i++]) { //loop in all inputs for correct button
//verify if type is `button` and value is `check`
if (t.type.match(/button/i) && t.value.match(/check/i)) {
btn = t;
break;
}
}
if (btn) { //got the button
btn.onclick = function() {
alert('You click me !');
};
}
<input type="button" value="Not me"></input>
<input type="text"></input>
<input type="button" value="Check"></input>
函数getElementsByTagName
返回DOM中的所有输入元素,您需要检查输入是否为按钮类型,如:
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type === "button") {
inputs[i].onclick = function () {
alert("hello!");
}
}
}
这是一把小提琴:http://jsfiddle.net/hL2kavzs/
试试这个。。。
document.getElementsByTagName("input").addEventListener("click", function(){
alert('hello');});
使用querySelectorAll()尝试此操作
document.querySelector('input[type="button"]').addEventListener('click', function() { alert('hello'); });
<table>
<tr>
<td><div id="number1">1</div></td>
<td><div>+</div></td>
<td><div id="number2">2</div></td>
<td><div>=</div></td>
<td><input type="text" /> </td>
<td><input type="button" value="Check" /></td>
</tr>
</table>
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 正在全局范围中查找JavaScript函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 如何调用这个匿名 JavaScript 函数
- 通过Ajax将JavaScript函数传递给PHP文件
- 在javascript函数中设置全局变量
- 如何在执行此特定onclick事件时执行JavaScript函数
- 使用javascript函数在页面初始化后加载jquery
- javascript函数同步
- 如何将一个JavaScript函数回调为多个函数
- 在javascript函数中使用php变量
- 代码背后调用一个JavaScript函数的按钮点击-C#
- 将JavaScript函数与HTML分离
- 组合两个javascript函数
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- javascript函数内部的代码用逗号而不是分号分隔
- href属性内的javascript函数
- 使用html表单中的参数调用JavaScript函数
- 分析Javascript函数中的多个对象
- javascript函数的:和=之间的区别