2010-11-30 54 views
0

Je dois ajouter dynamiquement des éléments de formulaire à un formulaire HTML dès que le bouton Envoyer est cliqué mais avant que les données POST ne soient envoyées à un serveur. Les nouveaux éléments doivent être "lus" à partir d'un fichier PHP sur mon serveur.PHP - Ajouter un élément de formulaire avant de soumettre - Acheter le bouton

HISTORIQUE: Actuellement, mon formulaire HTML contient des champs "cachés" qui sont soumis à un autre serveur pour traitement. Je n'ai aucun contrôle sur l'autre serveur. Mon problème est que n'importe qui peut éditer ces champs cachés.

Comment puis-je ajouter dynamiquement des éléments de formulaire aux données POST dès que le formulaire est soumis?

+1

Toute personne peut soumettre un formulaire avec toutes les données en votre nom, donc je ne comprends pas exactement ce que vous essayez d'accomplir ici .. –

+0

Postez votre code s'il vous plait. –

Répondre

0

Vous pouvez publier les données sur votre serveur et après les envoyer à nouveau sur le serveur externe avec les nouveaux éléments joints.

Votre travail est effectué côté serveur.

Voir aussi:

php server-to-server post?

0

Si vous avez besoin de contrôle sur ce qui est soumis à l'autre serveur, vous devez faire vous-même. Faites le formulaire soumettre à votre propre serveur, puis validez-le, ajoutez vos données et soumettez-le à nouveau à l'autre serveur.

Vous pouvez utiliser l'extension CURL en PHP pour publier des données depuis votre serveur.

1

Vous pouvez essayer cette façon:

  1. d'abord désactiver le soumettre en changeant le type de bouton d'envoi de 'submit' à 'bouton' (ou autre)

  2. Mettre en onclick sur ce bouton à une routine javascript (ici j'utilise submit_form()).

  3. Créez un div vide dans votre formulaire. (ici je l'appelle avec id = 'dynamic')

  4. En utilisant jquery, ceci est le submit_form().

  5. Je pense que vous devrez laisser le temps à ces éléments de se lier correctement avant de les soumettre. Peut-être un peu de temps avant $("#myForm").submit();

Voici le code de la fonction submit_form():

function submit_form() 
    { 
    $("#dynamic").append("<input type='hidden' name='input1' value='whatever'>"); 
    $("#dynamic").append("<input type='hidden' name='input2' value='whatever'>"); 
    $("#myForm").submit(); 
    } 
+0

Mike, merci beaucoup! Je vais essayer. – user524986