2010-12-04 48 views
0

J'ai un formulaire de connexion que je soumets en utilisant jQuery et ajaxForm plugin. La forme soumet bien et je reçois le AOK de réponse JSON:Appliquer une réponse json à différents divs avec jQuery

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

Ma forme est comme suit en utilisant le cadre de 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();?> 

Mon 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 

     } 
     }); 

Je veux Prenez mes messages d'erreur (s'il y en a) et remplissez les divs event avec les messages d'erreur. Des idées?

Répondre

1

Je pense que vous êtes assez proche, essayez:

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

belle. Je pense que j'avais un bloc. Je pense que je cherchais quelque chose de compliqué. À votre santé. –