-1
votes

Soumettre le bouton Séjour sous forme après avoir cliqué

Entrez la description de l'image ici Je veux rester en vue un clic sur le bouton d'envoi strong> J'ai une barre de navigation avec des boutons:

<!--/*************** Begin Contact Page ***************/-->
<div id="ContactPage" class="container border choice" style="display:none">
  <div class="panelChristos00">
      <div class="ImgFPanel">
          <img class="ImgPP" id="imgJob" src="Icons\contactSupport.png" alt="contactSupport" width="80px">
      </div>

      <div id="ergasia" class="firstLine">
          <h2>Form</h2>
      </div>

      <div class="container">


          <form id="form0" method="post" >

              <div class="requiredM00">
                  <p style="color:red"><?php echo $requiredMessage;?></p><p style="color:blue"><?php echo $completeMessage;?></p>
              </div>
              <label for="name">Name <span class="error" style="color:red">*<?php echo $nameErr;?></span></label>
              <input type="text" name="name" value="<?php echo $name;?>">

              <label for="email">Email <span class="error" style="color:red">* <?php echo $emailErr;?></span></label>
              <input type="text" name="email" value="<?php echo $email;?>">

              <label for="phone">Phone <span class="error" style="color:blue"> <?php echo $phoneErr;?></span></label>
              <input type="text" name="phone" value="<?php echo $phone;?>">

              <label for="subject">Message <span class="error" style="color:red">*<?php echo $subjectErr;?></span></label>
              <textarea id="subject" name="subject" style="height:200px"    ><?php echo $subject; ?></textarea>

              <input type="submit" value="Send">
          </form>
      </div>
  </div>
</div>


4 commentaires

puis modifier le type Soumettre au bouton


@DevsiodeDra puis le formulaire cessera probablement tout simplement de faire quoi que ce soit, il ne semble pas actuellement que rien qui soumettrait le formulaire via Ajax en arrière-plan puis ...


Vous voulez rester sur le formulaire de contact et toujours envoyer le formulaire, non? Vous devez utiliser Ajax pour pouvoir le faire. Comme, attachez le gestionnaire d'événements (sur soumettre) au formulaire et prévenezDefault l'événement d'empêcher son comportement par défaut (comme revenir à la page d'accueil)


@ 04FS Avez-vous une solution?


3 Réponses :


0
votes

Par défaut Bouton Soumettre Soumettre Soumettre le formulaire pour arrêter cette utilisation Evt.PreventDefault () sur le formulaire Soumettre le bouton


1 commentaires

Merci. Comment l'utiliser dans mon code peut-il utiliser? Lorsque vous appuyez sur Envoyer un séjour dans ce formulaire et exécutez le code PHP.



0
votes

Vous voulez rester sur le formulaire de contact et toujours envoyer le formulaire, non? Vous devez utiliser AJAX pour pouvoir faire cela.

Joindre un gestionnaire d'événements (sur Soumettre) au formulaire et prévenezDefault L'événement d'empêcher son comportement par défaut (comme revenir à la page d'accueil) P>

var form_el = document.getElementById("form0");

form_el.addEventListener("submit", function(e) {
    e.preventDefault(); // this will prevent the page from going back to homepage

    var form  = new FormData(this);

    var XHR = new XMLHttpRequest();

    XHR.open("POST", "server.php", true);

    // response handler
    XHR.onload = function () {
     // do something with the response
      if (xhr.status === 200) {
        var userInfo = JSON.parse(xhr.responseText);
      }
    };

    XHR.send(form);
});


4 commentaires

Merci! J'ajoute ce code dans mon fichier idex.php et j'ai changé MyForm avec Form0 et Server.php avec index.php. J ai exactement le même problème. Je veux rester sous la forme avec le résultat de l'appel PHP. Le code PHP pour le formulaire est dans le même fichier.


Non, j'insère ce code dans mon fichier index.php, qui est le formulaire et le code PHP. Pourriez-vous m'aider davantage? Comment adapter votre code à la mienne.


Merci. Quand j'appuie sur le bouton "Envoyer" Ne faites rien.


J'ajoute aussi une image qui décrit mieux ce que je veux faire.



0
votes

Vous pouvez le faire, il vous mènera à un nouvel onglet comme vous le souhaitez

 <form action="your file name">
        <input type="text">
        <input onclick="e.preventDefault()" type="submit" formtarget="_blank">
 </form>


5 commentaires

Vous pouvez également ajouter un attribut cible à la balise de formulaire comme celui-ci


Je ne veux pas nouvel onglet. Je veux rester dans la même onglet, avec les résultats de mon code PHP.


Ensuite, supprimez l'attribut cible


Merci. Pourriez-vous regarder mon JPEG, qui décrit ce que je veux faire.


Ensuite, vous devez soumettre votre formulaire via un auditeur d'événement sur le bouton et appeler API et soumettre à cet effet. Pour cette utilisation Ajax ou toute autre bibliothèque, lisez ceci w3schools.com/php/php_ajax_php.asp , alors vous n'avez pas à utiliser l'action dans la formulaire, je ne sais pas sur PHP mais à JavaScript Fetch () est pour cela regarder cette vidéo youtube.com/watch?v=ko3cbzw-q8o Cela pourrait vous aider à une qualité de bonne qualité est mauvais que tout ce que j'ai trouvé pour toi