onsubmit事件被触发并且表单已经提交(通过action =“mailto:yournamehere@somebox.com”),有没有办法可以清除表单,关闭窗口或者什么?是否有可以通过JavaScript挂钩的帖子提交。这必须是仅客户端解决方案。
答案 0 :(得分:14)
快速简便的解决方案:
<form action="mailto:email@email.com"
onsubmit="this.submit(); this.reset(); return false;">
答案 1 :(得分:2)
function submit_form() {
document.formu1.submit();
document.formu1.reset();
}
<form name="formu1" action="action-page" method="POST" target="_blank" />
Name: <input type="text" name="name" /><br /><br />
Pass: <input type="password" name="pass" /><br /><br />
<input type="button" value="Send" onclick="submit_form();" />
</form>
答案 2 :(得分:1)
没有这样的事件。
你可以通过以下方式破解它:
// Begin anonymous wrapper function to limit the scope of variables
// and avoid namespace collisions.
(function () {
// Get a quick reference to the form.
var f = document.forms.myForm;
// Define a submit handler that won't actually
// do anything until after the form has "submitted"
f.onsubmit = function () {
setTimeout(f.reset, 1000);
}
}());
...但是action =“mailto:...”支持不当,所以你应该使用真正的表单处理程序而不是试图破解limitations of mailto:。
答案 3 :(得分:0)
您可以简单地输入:
document.getElementById("myform").reset();
在您的onSubmit()
处理函数中。