我正在提交这样的表格:
<input id="submitBtn" style="margin-top:20px;" type="button" onclick="document.getElementById('form94').submit();" value="Opdater">
由于某种原因,我的jQuery
.submit()
功能无法触发。
$("#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;
});
答案 0 :(得分:0)
从中创建一个函数并使用onclick触发它:
<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;
}
答案 1 :(得分:0)
表单渲染后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>
答案 2 :(得分:0)
没有代码示例,很难说清楚。但是,有些浏览器只在用户点击提交按钮时提交表单,您无法通过脚本提交。
此主题还有大量其他SO帖子,它们都可以归结为附加提交事件时不存在的表单(您的脚本是在文档顶部执行还是在文档的就绪事件中执行? )。
表格尚不存在: Why Jquery form submit event not firing? Jquery .Submit() is not triggering submit event
通过脚本提交: Should jQuery's $(form).submit(); not trigger onSubmit within the form tag?
不使用提交按钮: jQuery submit not firing
答案 3 :(得分:0)
替换此
onclick="document.getElementById('form94').submit();"
onclick="$( "#form94" ).submit();"
javascript submit()不会在IE中冒泡,而且可能是其他陷阱。
答案 4 :(得分:0)
因为你使用不同的选择器
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');
});