ajax表格没有提交

时间:2011-05-28 14:52:24

标签: javascript jquery javascript-events

我有非常简单的脚本来提交表单。 这是html模板:

 <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()函数从另一个视图获取数据,这是不同的故事。

1 个答案:

答案 0 :(得分:1)

“.ajaxForm()”方法只需初始化表单。必须提交表格才能真正发生任何事情。

你应该在“ready”处理程序中调用“.ajaxForm()”,然后让“click”处理程序简单地调用“submit()”:

$(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()”一步完成初始化和提交。