7
votes

Meilleure méthode de soumission des champs de formulaire handicapés dans JQuery?

Il semble y avoir plusieurs façons de soumettre des champs de formulaire désactivés (post) à JQuery:

  • Demandez un champ caché qui change lorsque l'entrée change et soumettez cela
  • appendez manuellement la clé / valeur de la valeur à la soumission
  • revenir sur les valeurs du côté serveur (uniquement si les valeurs ne devraient pas changer)

    Je me demandais qui (le cas échéant) est considéré comme une meilleure pratique pour soumettre des champs de formulaire handicapés. Évidemment Readonly est la meilleure option lorsqu'il est disponible, mais j'ai des cases à cocher que je dois soumettre même s'ils sont désactivés (en raison de la logique commerciale). Je me rends compte que ce n'est pas une situation idéale, mais c'est rarement que l'affaire dans le développement Web.

    Y a-t-il une meilleure pratique pour soumettre des éléments de forme handicapés?


3 commentaires

Les éléments de formulaire désactivé ne doivent pas être soumis. La bonne façon de faire cela est la création d'entrées cachées sur soumettre. Voici la documentation HTML: w3.org/tr/html4/interact /Forms.html#SUCCESCESCESCESSE-CONTROLS


@Dave pour que vous disiez l'option 1 est le meilleur choix? C'est ce que je m'appuyais aussi. Aussi, merci pour la documentation.


@ GrailsGuy avec votre première option, si vous avez un champ de formulaire désactivé, pourquoi l'entrée pourrait-elle jamais changer?


3 Réponses :


8
votes

La meilleure option consiste à établir les entrées réadonner - Créez un événement de clic pour les cases à cocher qui renvoie simplement de la fausse et change de couleur de fond.

Il n'y a pas de meilleure pratique, mais celui-là nécessite le moins forcé.


0 commentaires

5
votes

Une quatrième solution serait d'activer les cases à cocher avant de soumettre le formulaire: xxx

Vous pouvez utiliser un sélecteur plus sophistiqué si vous ne souhaitez pas réactiver toutes les cases à cocher.


0 commentaires

0
votes

Il y a une autre façon si vous souhaitez poster tout ou certaines entrées déséquilibrées:

  1. Step1: Donnez un nom de nom de classe (par exemple, MOD).
  2. Step2: OnSubmit, a permis à tous les champs de ces champs suivant l'exemple ci-dessous:

    $ ("entrée [class = mod]"). RemoVeAtTR ("désactivé");

  3. STEP3: POST DATA

  4. Step4: Désactivez à nouveau ces champs (si nécessaire) après l'exemple ci-dessous:

    $ ("entrée [class = mod]"). attr (désactivé = "désactivé" '");


0 commentaires