为什么JavaScript onClick没有';是否触发jQuery提交函数?
我提交的表格如下:为什么JavaScript onClick没有';是否触发jQuery提交函数?,javascript,jquery,html,Javascript,Jquery,Html,我提交的表格如下: <input id="submitBtn" style="margin-top:20px;" type="button" onclick="document.getElementById('form94').submit();" value="Opdater"> <input id="submitBtn" style="margin-top:20px;" type="button" onclick="myfunction()" value="Opdater
<input id="submitBtn" style="margin-top:20px;" type="button" onclick="document.getElementById('form94').submit();" value="Opdater">
<input id="submitBtn" style="margin-top:20px;" type="button" onclick="myfunction()" value="Opdater">
function myfunction() {
var form = $(this);
$.ajax({
url : form.attr('action'),
type : form.attr('method'),
data : form.serialize(), // data to be submitted
success: function(response){
$("#showFancyBoxThankYouLink").click();
}
});
return false;
}
用它生成一个函数并用onclick触发它,如下所示:
<input id="submitBtn" style="margin-top:20px;" type="button" onclick="document.getElementById('form94').submit();" value="Opdater">
<input id="submitBtn" style="margin-top:20px;" type="button" onclick="myfunction()" value="Opdater">
function myfunction() {
var form = $(this);
$.ajax({
url : form.attr('action'),
type : form.attr('method'),
data : form.serialize(), // data to be submitted
success: function(response){
$("#showFancyBoxThankYouLink").click();
}
});
return false;
}
函数myfunction(){
变量形式=$(此);
$.ajax({
url:form.attr('action'),
类型:form.attr('method'),
数据:form.serialize(),//要提交的数据
成功:功能(响应){
$(“#showFancyBoxThankYouLink”)。单击();
}
});
返回false;
}
表单呈现后javascript是否运行?如果没有,请确保您的javascript在表单之后,或者尝试在加载文档后运行它
$(document).ready(function() {
$("#form94").submit(function() {
var form = $(this);
$.ajax({
url : form.attr('action'),
type : form.attr('method'),
data : form.serialize(), // data to be submitted
success: function(response){
$("#showFancyBoxThankYouLink").click();
}
});
return false;
});
});
让表单提交的另一种方法是向表单添加onsubmit属性,并让它返回一个函数。您还可以更改按钮类型,以提交并删除onclick属性
<form id="form94" name="form94" onsubmit="return SubmitMyForm();">
<input type="submit" value="Opdater">
</form>
<script>
function SubmitMyForm() {
var form = $(this);
$.ajax({
url : form.attr('action'),
type : form.attr('method'),
data : form.serialize(), // data to be submitted
success: function(response){
$("#showFancyBoxThankYouLink").click();
}
});
return false;
}
</script>
函数SubmitMyForm(){
变量形式=$(此);
$.ajax({
url:form.attr('action'),
类型:form.attr('method'),
数据:form.serialize(),//要提交的数据
成功:功能(响应){
$(“#showFancyBoxThankYouLink”)。单击();
}
});
返回false;
}
如果没有代码示例,很难判断。但是,有些浏览器只在用户单击提交按钮时提交表单,而不能通过脚本提交
围绕这个主题还有很多其他SO帖子,它们都可以归结为附加submit事件时不存在的表单(您的脚本是在文档顶部执行还是在文档的ready事件上执行?)
表单还不存在:
通过脚本提交:
不使用提交按钮:
更换此
onclick="document.getElementById('form94').submit();"
使用onclick=“$(“#form94”).submit();”
IE中没有出现javascript submit(),它们可能是其他问题。因为您使用不同的选择器
document.getElementById('form94'); //returns a HTML DOM Object
$('#form94'); //returns a jQuery Object
您可以尝试下一个代码,它工作正常
<form id="form94">
<input id="submitBtn" style="margin-top:20px;" type="button" onclick="$('#form94').submit();" value="Opdater">
</form>
<script type="text/javascript">
$("#form94").submit(function(e) {
e.preventDefault();
alert('test');
});
$(“#表格94”)。提交(功能(e){
e、 预防默认值();
警报(“测试”);
});
从html按钮中取出type=“button”和onclick属性。。并且add-up type=“submit”它存在是有原因的。。。由于一些样式问题。请在html中添加一个提琴。只需重新创建此内容所需的html:)哦,好的,您是否尝试使用单个事件,而不使用提交事件!!?