Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript捕获html表单提交?_Javascript_Html_Forms - Fatal编程技术网

如何使用javascript捕获html表单提交?

如何使用javascript捕获html表单提交?,javascript,html,forms,Javascript,Html,Forms,目前,我有几个文本输入,然后键入图像提交按钮。在提交按钮上,我有onmouseover、onmouseout等。。这会将它们发送到一个javascript函数,该函数处理悬停效果的图像更改。我想做的是提交表单,然后做一些检查,比如密码匹配之类的。我是否可以使用表单标记的action属性将其提交给javascript函数? <form onsubmit="return cancel()"><input type="submit" /></form> <sc

目前,我有几个文本输入,然后键入图像提交按钮。在提交按钮上,我有onmouseover、onmouseout等。。这会将它们发送到一个javascript函数,该函数处理悬停效果的图像更改。我想做的是提交表单,然后做一些检查,比如密码匹配之类的。我是否可以使用表单标记的action属性将其提交给javascript函数?


<form onsubmit="return cancel()"><input type="submit" /></form>
<script>
function cancel()
{
    //code validation
    var validated = false;
    if(!validated)return false;
    else return true;
}
</script>
函数cancel() { //代码验证 var=false; 如果(!validated)返回false; 否则返回true; }
首先,我建议使用jQuery之类的工具。它使代码更易于管理。以下是您在jQuery中的操作方法:

$('form').submit(function(e) {
    var validated = true;
    // do form validation

    if (!validated) {
        e.preventDefault();
    }

    return validated;
});
下面是使用纯javascript的方法:

// function to make sure we add the event correctly no matter which browser
function addEvent(evnt, elem, func) {
    if (elem.addEventListener) {  // W3C DOM
        elem.addEventListener(evnt,func,false);
    } else if (elem.attachEvent) { // IE DOM
        elem.attachEvent("on"+evnt, func);
    } else { // No much to do
        elem[evnt] = func;
    }
}

// get first form on page
var form = document.forms[0];
addEvent('submit', form, function(e) {
    var validated = true;
    // do form validation

    if (!validated) {
        e.preventDefault();
    }

    return validated;
});

使用表单的提交处理程序。e、 g.
。能否添加一些示例代码?从可用性的角度来看,请在修改每个控件时进行客户端检查,而不是仅在提交时进行检查。我讨厌有任意密码要求的网站,在我点击“提交”后才告诉我。(从安全角度来看,假设服务器端的表单被破解,而没有运行任何客户端检查。)