2012-10-18 16 views
0

我试图重新绑定click事件张贴的形式和Ajax的HTML连载()返回阿贾克斯HTML后空

$('.btnSave').addClass('yui3-button').click(function() { 
    var $this = $(this); 
    var id = $(this).parent().attr('id'); 

    $.post(
     "MTrades/save", 
     $.param({ mycase: 1 }) + '&' + $(this).parent().parent().serialize(), 
     function(data) { 
      alert("page - " + data); 
      $this.parent().fadeOut("fast").load(
       "MTrades/index/"+id+"/options", 
       function() { 
        //rebind the click event 
        BindClick(); 
       }).fadeIn("fast"); 
      }); 
      return false; 
     }); 

表单参数发送的第一次作品,但不是第二次 (在我保存并重新载入html之后).serialize()返回空。

HTML(缩短):

<form id="Form2"> 
    <button> 
    <div> 
     <button>save 
     <form> 
      <table> 
      </table> 
     </form> 
    </div> 
</form> 

感谢

+1

派内<form>你是什么意思与重装?表单的内部表单不起作用。 –

+1

在你的html中你有一个'form'内的'form'(这是无效的)哪一个实际上被提交? –

+0

如果我将外部格式更改为div,如何从保存btn中获取内部格式?它是'$(this).parent()。find('form')。serialize()'是否有一种更优雅的方式来查找内部表单? – devmonster

回答

0

我已经取代外形式<div> 和我一起$(this).parent().find('form').serialize() 代替$(this).parent().parent().serialize()