我的表格如下:
<form method="POST" action="page.html" onsubmit="alert('foo'); // validate();" name="foobar">
...
</form>
和类似的链接:
<div onclick="document.foobar.submit();">click me</div>
如何捕获submit()方法并调用我的验证函数?
答案 0 :(得分:1)
你可以从html本身调用方法。修改后的jsbin。不是在点击时提交表单,您可以致电submitHandler
并传递表单参考。
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
<script type="text/javascript">
function validate(){
}
function submitHandler(form){
validate();
alert('foo');
}
window.onload = function(){
document.foobar.submit = submitHandler;
}
</script>
</head>
<body>
<form method="POST" action="page.html" onsubmit="submitHandler(this);" name="foobar">
<input type="text" />
</form>
<div onclick="document.foobar.submit()">click me</div>
</body>
</html>
答案 1 :(得分:1)
使用ID
唯一标识您的表单document.getElementById('formid').onsubmit = function() {
// You have captured the submit method now do what you need
};
答案 2 :(得分:0)
您可以使用jQuery .submit()
处理程序。
$('form').submit(function(evt) {
evt.preventDefault();
alert('Handler for .submit() called.');
// Validate function returns false or true
});
答案 3 :(得分:0)
试试这个:
<script type="text/javascript">
function addEventsToHTML(){
var form = document.getElementById('foobar');
form.onsubmit = submitHandler;
function submitHandler(){
validate();
}
}
window.onload = addEventsToHTML;
</script>