2011-04-01 85 views
0

我用cakephp使用jquery,我需要发布一些数据到控制器的更新函数。我需要它分开,以便它看起来像这样在提琴手cakephp和jquery提交数据post

Name     | Value 
data[Answer][1][body] | John DC 
data[Answer][2][body] | Company 
data[Answer][3][body] | Title 
data[Answer][4][body] | Country 
data[Answer][5][body] | Email 
data[Answer][6][body] | Phone 
data[Answer][7][body] | test 




Name                             | Value 
    data[Answer][1][body]:John DC,data[Answer][2][body]:Company,data[Answer][3][body]:Title,data[Answer][4][body]:Country,data[Answer][5][body]:Email,data[Answer][6][body]:Phone,data[Answer][7][body]:test | 

因此,它显示在名称列下。

这里是我的ajax

$j(document).ready(function() { 
    $j('#form').click(function() { 
     alert("hi"); 
     $j.ajax({ 

      type: 'post',  

      data: 
        "data[Answer][1][body]:" + $j('#ID1').val() + 
        ",data[Answer][2][body]:" + $j('#ID2').val() + 
        ",data[Answer][3][body]:" + $j('#ID3').val() + 
        ",data[Answer][4][body]:" + $j('#ID4').val() + 
        ",data[Answer][5][body]:" + $j('#ID5').val() + 
        ",data[Answer][6][body]:" + $j('#ID6').val() + 
        ",data[Answer][7][body]:" + $j('#ID7').val(), 

      url: "/mypage/update", 
      success: function(){ 
       alert("Done"); 
       } 
      }); 

    }); 
}); 

感谢

+0

使用json解决了它。但现在碰到一个新的问题 将张贴在一个新的问题 – Autolycus 2011-04-01 23:34:34

回答

1

是否有一个良好的理由的元素#ID1至ID7#中没有你需要的格式name属性?

如果您使用echo $this->Form->input('Answer.1.body')来呈现您的输入字段,则会自动发生。如果你不喜欢FormHelper默认给你的东西,有许多方法来定制输出。

然后,您可以使用诸如jQuery("#ID1,#ID2...").serialize()之类的内容来帮助将数据发回服务器。似乎你需要让jQuery和CakePHP框架为你做更多的工作:)

+0

我刚刚看到你的问题。除非我误解你在做什么,否则我会再看看CakePHP的食谱,例如http://book.cakephp.org/view/1390/Automagic-Form-Elements。我只会在特殊情况下使用提琴手。 – contrebis 2011-04-01 23:49:57