2009-10-08 10 views
1

Bon, comment générez-vous vos formulaires ajax?Comment générer des formulaires avec AJAX?

Gardez-vous le <form> -code dans les javascript-fichiers et charger les données avec ajax (par exemple JSON), ou ne vous chargez un fichier html généré (avec toutes les <form> et <input> que vous venez de pousser au navigateur)? Ou y a-t-il un autre moyen plus simple?

Si vous utilisez un cadre, obtenez-vous vos formulaires générés automatiquement à partir de vos modèles?

Que trouvez-vous le plus facile à entretenir et à entretenir? Y a-t-il des plug-ins ou des bibliothèques que vous trouvez utiles, peut-être quelque chose à jQuery?

Partagez votre opinion!

+0

Que voulez-vous réaliser par AJAX générer vos formulaires? Voulez-vous simplement charger dynamiquement le formulaire sur la page, ou faire quelque chose avec les résultats du formulaire? –

+0

Fondamentalement plus rapide et mieux Ajouter/Modifier/Supprimer-fonctionnellement. Alors oui, charge un formulaire dynamiquement. – Erik

Répondre

1

Il y a une solution dans la bibliothèque jQuery

jQuery.get(url, [data], [callback], [type]) 

Charger une page à distance à l'aide d'une requête HTTP GET. Il s'agit d'un moyen simple d'envoyer une requête GET simple à un serveur sans avoir à utiliser la fonction $ .ajax plus complexe. Il permet de spécifier une seule fonction de rappel qui sera exécutée lorsque la requête est terminée (et seulement si la réponse a un code de réponse réussi). Si vous avez besoin d'avoir des rappels d'erreur et de succès, vous pouvez utiliser $ .ajax.

.get $() renvoie le XMLHttpRequest qu'il crée. Dans la plupart des cas vous n'aura pas besoin de cet objet pour manipuler directement, mais il est disponible si vous devez annuler la demande manuellement.

Jetez un oeil à la jQuery Documentation

Exemple:

$.get("someForm.pl", { name: "John" }, 
    function(data){ 
    $(data).appendTo(document.body); // you might place it somewhere else 
    }); 

Edit:

Exemple où vous modifiez uniquement les valeurs du dom existant:

<form id="myForm"><input id="myName" /></form> 

$.get("someForm.pl", { name: "John" }, 
    function(data){ 
    $("#myForm").each(function(){ 
     this.value = data[this.id]; 
    }); 
    },"json"); 

Où votre réponse du serveur serait:

{ 'myName' : 'John' } 
+0

Donc dans le someForm.pl vous imprimez le «

» et tout? Pourquoi n'est-il pas préférable d'avoir cela dans le javascript et de définir la valeur en utilisant $ ("# myinput"). Val (data.myfield)? – Erik

+0

Sry Je n'ai pas compris votre question correctement. Il serait plus rapide d'utiliser le DOM existant et de modifier uniquement les valeurs. Vous pouvez également utiliser $ .get pour demander des données JSON. – jantimon

+0

Ouais, la chose est que vous avez maintenant 2 fichiers, le javascript, et celui qui produit vos données. Et quand vous devriez ajouter un autre champ, vous devez faire des changements dans vos deux fichiers, et je trouve ça agaçant. – Erik

Questions connexes