Javascript 单击表单的提交按钮时获取表单中的所有输入和操作标记

Javascript 单击表单的提交按钮时获取表单中的所有输入和操作标记,javascript,html,Javascript,Html,我们的HTML页面中有如下表单标记: <form method= POST action=https://mysite_1.com> <input type=hidden name=XXXX value=yyyyyy> <input type=hidden name=YYYY value=zzzzz> <input type=submit name=NNNN value=aaaaa> </form> <form metho

我们的HTML页面中有如下表单标记:

<form method= POST action=https://mysite_1.com> 
<input type=hidden name=XXXX value=yyyyyy> 
<input type=hidden name=YYYY value=zzzzz>
<input type=submit name=NNNN value=aaaaa> 
</form>

<form method= POST action=https://mysite_2.com> 
<input type=hidden name=PPPP value=kkkkk> 
<input type=hidden name=MMMM value=lllll>
<input type=submit name=FFFF value=jjjjj> 
</form>

HTML页面中可以有多个这样的表单和操作。当执行提交操作时,我需要在表单级别查找所有输入和操作值


我面临的问题是在页面的表单级别检测哪个“提交”按钮的哪个“表单”及其“操作”值?

为表单分配一个id:

<form id="form1" method="POST" action="https://mysite_1.com"> 
...
</form>

<form id="form1" method="POST" action="https://mysite_2.com"> 
...
</form>

注意:IE一种方法是使用指定的表单提交处理函数,该函数可以从提交的任何元素检索属性:

function submission(form, e){
    e = e || window.event;
    e.preventDefault();
    var formAction = form.action,
        formMethod = form.method;
    console.log(formAction, formMethod);
}

var forms = document.getElementsByTagName('form');

for (var i=0, len=forms.length; i<len; i++){
    forms[i].onsubmit = function(e){
        submission(this, e);
    };
}

.

为什么你要用javascript而不是php来做这件事?我的要求是用JS脚本来捕获UI流级别的细节,而不是改变HTML页面。我是否能够获取表单“action”值?为什么要阻止默认操作?(顺便说一句,
preventDefault
没有在IEF中定义,只是因为如果没有阻止默认事件,那么表单将在演示过程中提交。在现实生活中,我不确定JavaScript在加载新页面之前有时间做什么。)=/
document.getElementById("form1").attachEvent("onsubmit", function() {
    var form = document.getElementById("form1").elements,
        inputs = form.elements, action = form.action;
    // Do something
});
function submission(form, e){
    e = e || window.event;
    e.preventDefault();
    var formAction = form.action,
        formMethod = form.method;
    console.log(formAction, formMethod);
}

var forms = document.getElementsByTagName('form');

for (var i=0, len=forms.length; i<len; i++){
    forms[i].onsubmit = function(e){
        submission(this, e);
    };
}
var forms = document.getElementsByTagName('form');

for (var i=0, len=forms.length; i<len; i++){
    forms[i].addEventListener('submit', function(e){
        submission(this, e);
    });
}