2011-01-24 7 views
0

J'utilise le JqGrid, mais j'ai besoin d'un peu plus de contrôle sur ce qui se passe lorsque le bouton "Enregistrer" est cliqué dans un formulaire éditer/insérer. Idéalement, j'aimerais utiliser mon propre appel à $ .ajax() pour envoyer toutes les données de formulaire au serveur au lieu de compter sur la grille pour le faire en utilisant un editurl.

Existe-t-il un moyen de le faire?

Répondre

0

jqGrid soutien ajaxEditOptions, editData les options serializeEditData, errorTextFormat, afterSubmit et onclickSubmit événements et bien d'autres formes modifier options et events. Les caractéristiques vous permettent de faire une personnalisation dynamique complète du editurl (voir onclickSubmit), d'envoyer des paramètres supplémentaires (voir editData) ou de supprimer l'envoi de certains paramètres standard au serveur (voir serializeEditData). En ce qui concerne ajaxEditOptions, vous pouvez changer n'importe lequel du paramètre jQuery.ajax (utilisez contentType: "application/json" ou HTTP PUT au lieu de POST). Les données qui seront envoyées au serveur peuvent être sérialisées en fonction de votre fonction personnalisée (voir serializeEditData) et la réponse peut être décodée avec votre fonction (voir afterSubmit ou errorTextFormat en cas d'erreur de serveur). Vous pouvez faire des effets de surbrillance ou d'animation après l'ajout d'une nouvelle ligne (voir afterComplete). Je peux continuer ...

Je vous recommande d'essayer d'utiliser les fonctionnalités que j'ai énumérées ci-dessus au lieu d'écraser les mécanismes standard de l'édition de formulaire.

Si vous décrivez plus précisément dans votre question ce que vous voulez mettre en œuvre I (ou autre) pourrait essayer de vous expliquer quelles fonctionnalités de jqGrid vous pouvez utiliser pour cela.