Existe-t-il un moyen de publier un formulaire sur plusieurs URL?
J'en ai besoin en javascript .. Par exemple: J'ai 2 documents: 1.php et 2.php .. Je veux que le formulaire publie des données dans ces deux fichiers, mais allez dans 1.php .. Connaissez-vous un moyen?

3
René Beneš 6 nov. 2011 à 04:50

4 réponses

Meilleure réponse

Vous avez besoin d'un formulaire avec l'action "1.php" et jQuery.

$('#form_id').submit(function(event){
    event.preventDefault();

    var $th = $(this);

    $.ajax({
        type: 'post',
        url: '2.php',  // note: edited by Ryan
        data: $th.serialize(),
        success: function(){
            $th.submit();
        }
    });
});
5
Ryan 6 nov. 2011 à 02:31

La façon rapide et sale de le faire est de publier le formulaire dans un script qui le publiera à son tour dans un second script.

-2
Daniel Nill 6 nov. 2011 à 00:54

Toutes les solutions ci-dessus devraient fonctionner, mais rappelez-vous que ajax n'est autorisé que dans la même publication de domaine. Cela signifie que vous êtes sur http://example.com, vous ne pouvez publier que sur example.com/etc ou sub.example .com
Si vous voulez vraiment traverser la publication de domaine, vous devez créer un ifram vide comme cible (id = "iframeid"), puis changer la cible du formulaire en:

<form target="_iframeid" action=""/>

Après cela, vous pouvez utiliser javascript pour publier sur une page, puis modifier l'URL de l'action et republier à nouveau

0
Trinh Hoang Nhu 6 nov. 2011 à 19:28

En utilisant JavaScript, oui

Vous souhaiterez passer un appel à l'aide de la fonction XMLHttpRequest disponible en JavaScript pour effectuer un appel AJAX vers le script php.2. Le deuxième appel peut alors être effectué en utilisant document.forms["FORMNAME"].submit().

Les bibliothèques comme les fonctions Ajax de jQuery facilitent l'utilisation de la fonction XMLHttpRequest. Consultez la documentation des fonctions jquery.get (), jquery.post () et jquery.ajax () (a.k.a $ .get (), $ .post () et $ .ajax ())

Voici quelques guides pour effectuer des appels AJAX à l'aide des fonctions $ .post () et $ .ajax () de jQuery.

  • (http://www.sitepoint.com/ajax-jquery-3/)
  • (http://www.devirtuoso.com/2009/07/beginners-guide-to-using-ajax-with-jquery/)
  • (http://www.phpfreaks.com/forums/index.php?topic=256503.0)
  • (http://www.ryancoughlin.com/2008/11/04/use-jquery-to-submit-form/)

Voici également un exemple de cadre de la façon dont cela peut être codé:


    <form id="exampleform" name="exampleform" action="1.php">
    ...
    </form>
    <script type="text/javascript">
      function submitForm()
      {
        ... // set up vars for $.post() call

        // Make the post call for the 2.php
        $.post( ... );

        // Submit the form for 1.php
        document.forms["exampleform"].submit();
      }
    </script>

1
James 6 nov. 2011 à 01:59