2010-12-04 76 views
0

我有一個使用jQuery和ajaxForm插件提交的登錄表單。該表單提交罰款,我收到的JSON響應AOK:使用jQuery將json響應應用於不同的div

{"username":"Enter your username","password":"password must not be empty"} 

我的方式是使用Kohana的框架如下:

<?php echo form::open('login',array('id'=>'login'));?> 
<div id="username_errors"></div>   
<?php echo form::label('username','Username');?><br/> 
<?php echo form::input('username','',array('id' => 'username','class'=>'login   text ui-widget-content ui-corner-all'));?><br/> 
<div id="password_errors"></div>   
<?php echo form::label('password','Password');?><br/> 
<?php echo form::password('password','',array('id' => 'password','class'=>'text ui-widget-content ui-corner-all'));?><br/> 

<?php echo form::label('remember_me','Remember Me'); 
    echo form::checkbox('Remember Me', 'remember_me', FALSE);?><br/> 

<?php echo form::submit('submit','Login'); 
    echo form::close();?> 

我的jQuery:

jQuery('.form #login').ajaxForm({ 
    data: jQuery(this).serialize(), 
    dataType:'json', 
    url:'login', 
    success: function(data){ 
     if (data.redirect == 'home') { 
     window.location.href=data.redirect; 
     }//else append error messages to relevant divs 

     } 
     }); 

我想帶上我的錯誤消息(如果有的話)並用錯誤消息填充相關的div。有任何想法嗎?

回答

1

我覺得你非常接近,嘗試:

jQuery('.form #login').ajaxForm({ 
    data: jQuery(this).serialize(), 
    dataType:'json', 
    url:'login', 
    success: function(data){ 
     if (data.redirect == 'home') { 
      window.location.href=data.redirect; 
     } else { 
      $('#username_errors').html(data.username);  
      $('#password_errors').html(data.password);   
     } 
    }); 
+0

可愛。我想我有一塊。我想我正在尋找一些複雜的東西。乾杯。 – 2010-12-04 15:00:02