Comment puis-je remplir facilement les champs de formulaire?
Question
L'exemple sous forme de Ajax
<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 la forme est un appel montre ajax est envoyé et le serveur retourne un objet JSON comme
{"name":"john", "email": "john@some-domain.com", "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 );
La solution
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
, éléments textarea
, dans cet exemple, le sélecteur est à la recherche de tout élément (*[name=foo]
).
Aussi, vous pourriez avoir à ajouter un peu de code pour gérer correctement les boutons radio.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow