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 );
Était-ce utile?

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.

Vérifier un exemple avec votre balisage .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top