ajax表单没有提交
问题描述:
我有非常简单的提交表单的脚本。 这是HTML模板:ajax表单没有提交
<table>
<form action='.' method = 'post' id='form'>{% csrf_token %}
{{ formset }}
<tr><td><button type='button' id='button' value='view'>shsfj</button></td></tr>
</form>
</table>
<div id='right-here'></div>
这是JS:
$('#button').click(function(){
$.get('/json', function(data){
$('#right-here').replaceWith(
"<div id='right-here'>"+data+"</div>"
);
});
$("#form").ajaxForm(function(){
alert("It's ok");
});
});
所以我没有警报。这意味着表单不会传递给服务器?哪里不对? get()函数从另一个视图获取数据,这是不同的故事。
答
“.ajaxForm()”方法只需即可初始化表单。必须提交表格才能确实发生任何事情。
你应该把调用“.ajaxForm()”,在‘就绪’处理程序,然后有‘点击’处理程序只需调用‘提交()’:
$(function() {
$('#form').ajaxForm(function() { alert("Ok"); });
});
$('#button').click(function(){
$.get('/json', function(data){
$('#right-here').replaceWith(
"<div id='right-here'>"+data+"</div>"
);
});
$("#form").submit();
});
或者,您可以通过使用“.ajaxSubmit()”一步完成初始化和提交。