我的HTML代码是
<form id="formoid" action="" title="" method="post" onSubmit="return myfunction(event)">
<div>
<label class="title">First Name</label>
<input type="text" id="name" name="name" >
</div>
<div>
<label class="title">Name</label>
<input type="text" id="name2" name="name2" >
</div>
<div>
<input type="submit" id="submit" name="submit" value="Submit">
</div>
</form>
我的JS代码是:
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
<script language="JavaScript">
function myfunction(event) {
event.preventDefault();
/// Here I am sending a post..
//// how do I keep submitting?
}
</script>
我制作了一个正常停止提交的功能,之后我想继续提交。我需要停止正常提交,因为我正在使用Ajax发送帖子。
我尝试了许多解决方案,如:
我能做到
$(form).submit(function(e) {
e.preventDefault();
var self = this;
// Code...
if (true) {
self.submit();
} else {
// Code...
}
});
但我无法使用表单名称,因为我想返回onSubmit函数
有没有办法在不需要的情况下继续提交 $(form).submit(function(e)code line?
我可以在函数中添加一些内容吗?
答案 0 :(得分:0)
使用您的代码,我认为如果您执行formoid.submit()
,您可能会重新启动myfunction()
(或者我可能错了)。
为了保持安全,我只会使用onclick
代替onsubmit
。
<强> HTML 强>
<form id="formoid" action="" title="" method="post">
<!-- etc -->
<div>
<input type="button" id="submit" name="submit" value="Submit" onclick="myfunction()">
<!-- note the use of type="button" to prevent the form from submitting normally -->
</div>
</form>
<强>的JavaScript 强>
var httpRequest;
// do the ajax call
function myfunction() {
httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = callback;
httpRequest.open('POST', 'some-path');
httpRequest.send();
}
// once the callback has fired, submit the form
function callback () {
if (httpRequest.readyState === XMLHttpRequest.DONE) {
if (httpRequest.status === 200) {
formoid.submit(); // submit form
}
}
}
取自here。
的AJAX代码示例