如何使用Javascript选择具有提交类型的按钮?
我有两个这样的按钮:如何使用Javascript选择具有提交类型的按钮?,javascript,Javascript,我有两个这样的按钮: <button class="medium" id="register" type="button" onclick="location.href='/Account/Register'">Register</button> <button class="medium default" id="login" type="submit">Login</button> 寄存器 登录 My Javascript按
<button class="medium" id="register" type="button"
onclick="location.href='/Account/Register'">Register</button>
<button class="medium default" id="login" type="submit">Login</button>
寄存器
登录
My Javascript按id选择按钮:
<script type="text/javascript">
(function () {
document.getElementsByClassName('form')[0]
.addEventListener("submit", function (ev) {
document.getElementById('login').innerHTML += ' <i class="fa fa-spin fa-spinner" data-ng-show="fetching.length > 0"></i>';
}, false);
})();
</script>
(功能(){
document.getElementsByClassName('form')[0]
.addEventListener(“提交”,功能(ev){
document.getElementById('login').innerHTML+='';
},假);
})();
我如何更改它,使javascripts选择带有“submit”或
如果不可能,按钮上有一个“提交”类
请注意,我之所以要这样做,是因为许多表单都使用javascript。我需要一个常见的方法来找到“提交”按钮 您可以通过以下操作获取页面上的所有按钮:
var buttons = document.getElementsByTagName("button");
然后,您可以遍历该数组,找到所有类型属性值为“submit”的按钮
var submits = [];
var i;
for(i = 0; i < buttons.length; i++) {
if(buttons[i].type == "submit") { submits.push(buttons[i]); }
}
var提交=[];
var i;
对于(i=0;i
您可以使用querySelectorAll。它可以追溯到IE8
document.querySelectorAll('[type=submit]')
JS fiddle here您可以使用它查找与CSS样式格式选择器匹配的第一个元素-它作为文档
的方法来搜索(显然)整个文档,或者作为元素的方法来搜索:
后者可能对您最有用,因为您希望找到一个可能位于表单中的提交按钮,并且您已经有了对表单的引用:在使用addEventListener()
附加到表单的提交处理程序中,您可以使用this.querySelector(…)
演示:
几乎所有现代浏览器都支持.querySelector()
方法,但是(一如既往)关于IE的一个注意事项是:从IE8开始就支持它。但是,由于您使用的是addEventListener()
,所以您可能根本不关心旧IE
如果您确实需要支持旧版本的IE,您可以使用查找所有按钮元素,然后循环查找包含
type=“submit”
您支持的IE 9的按钮元素。非常感谢这个解决方案!就我的情况而言,我已经有了表格。我可以用它来表示某个元素吗?是的,someElement
可以是任何元素。我只是在添加一个演示的过程中,这个演示就是为一个表单做的。看见
document.querySelector('button[type="submit"]').innerHTML += ' ...';
// OR
someElement.querySelector('button[type="submit"]').innerHTML += ' ...';