2009-12-28 13 views
1

L'exemple ajax formeComment puis-je facilement remplir les champs de formulaire?

<form method="post"> 
    <input type="text" name="name" /> 
    <input type="text" name="email" /> 
    <select name="group"> 
    <option value="1">group 1</option> 
    <option value="2">group 2</option> 
    </select> 
    <button type="submit">submit</button> 
</form> 

chaque fois que le formulaire est afficher un appel ajax est envoyé et le serveur retourne un objet JSON comme

{"name":"john", "email": "[email protected]", "group": 2} 

Je ne veux pas faire le travail fastidieux de remplir le formulaire avec les données JSON manuellement, par exemple

$('#myform').fillWith(json); 

Répondre

4

Vous pouvez facilement construire un plugin simple à faire:

jQuery.fn.fillWith = function(input) { 
    return this.each(function(){ 
    var form = this; 
    $.each(input, function (key, value) { 
     $(form).find('[name='+key+']').val(value); 
    }); 
    }); 
}; 

Vous pouvez optimiser le sélecteur d'attribut, pour vérifier que pour input, select, textarea éléments, dans cet exemple, le sélecteur est à la recherche de tout élément (*[name=foo]).

De même, vous devrez peut-être ajouter du code pour gérer correctement les boutons radio.

Vérifiez un exemple avec votre balisage here.

+0

+1 pour être plus rapide – munch