Je vais expliquer mon problème: j'ai un formulaire et je veux cliquer sur soumettre pour afficher un div (dans la même page) et exécuter une fonction de script java sans rafraîchir la page

<form action="#" method="post" name= "form1" id = "form1">
<div class="row_ligne">
  <div class="col-25">
    <label for="fname">Fréquence </label>
  </div>
  <div class="col-75">
    <select id="frequence" name="frequence" onchange="showDiv(this)">
      <option value="yearly">Annuelle</option>
      <option value="monthly">Mensuelle</option>
      <option value="daily">Quotidienne</option>
    </select>
  </div>
</div>

<div class="row_ligne">
      <div class="col-50">

        <input type="submit" id="Backtest" value ="Backtest" name = 
  "Backtest" onclick ="open_div_res(),openOnglet(event, 'repartition');" >

      </div>

     </div>
</form>

<div class="tab_back" id ="id_div_res" style="display:none;">
<button class="tablinks" 
onclick="openOnglet(event,'repartition')">Result</button> </div>

<script>
function open_div_res(){

          document.getElementById("id_div_res").style.display = "block";
          document.getElementById('id_div_res').scrollIntoView();

      }

   </script>
1
hamza el hadry 14 avril 2018 à 13:35

3 réponses

Meilleure réponse

Ajoutez type = "bouton" au bouton, vous ne le faites pas, cela déclenchera une soumission.

<button type="button" class="tablinks" 
onclick="openOnglet(event,'repartition')">Result</button>

Si vous voulez dire en cliquant sur ceci:

<input type="submit" id="Backtest" value ="Backtest" name = 
 "Backtest" onclick ="open_div_res(),openOnglet(event, 'repartition');" >

Vous devez également changer cela en bouton

0
sietse85 14 avril 2018 à 10:40

Si je comprends bien, vous ne souhaitez PAS actualiser la page lorsque vous cliquez sur soumettre.

Ajoutez un écouteur sur votre bouton d'envoi et, à l'aide de jQuery

$("#mySubmitButton").on("click", function(event){
  event.preventDefault();
  // show the div code
  $("#myDiv").show();
});

Ou, vanilla javascript:

document.getElementById('mySubmitButton').addEventListener('click', function(e){ e.preventDefault(); document.getElementById('myDiv').classList.add('isVisible'); });

Cela devrait faire l'affaire !

0
zareb Northman 14 avril 2018 à 12:04

Essaye ça:

<form action="#" method="post" name= "form1" id = "form1" onSubmit="return false;">
   //Code here
</form>
0
Sanjay 14 avril 2018 à 12:12