Jquery submit

Bonjour,
Mon code devrait provoquer un submit au click sur la photo et renvoyer vers le fichier php correspondant mais ça ne submite pas.
Pouvez vous me dire où est l'erreur ?

<html>
    <head>
        <script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">  </script>
    </head>
   
<style>  #photo  {width:90px;  border-radius:20px 20px;  max-height: 90px;}  </style>
   
 <script>
$( function() { 
    $('#photo').click(function() {     
       var valeur =  'bleu';
       $('#categ').val(valeur);
        alert ( $('#categ').val() );
      
       $("#form1").submit(); 
});
}); 
 </script>

    <body>

 <form  id="form1" action="index2.php"  onsubmit="alert('OK');">
          <input type="hidden" id="categ"  value=""  />
        <input type="submit" id="submit" name="submit"   value='OK'/>                
 </form> 
 
<br> <img   id="photo" src="imgs/perruches.jpg" alt="photos"/  >
 
</body>   </html>


Configuration: Windows / Firefox 76.0

6 réponses

  1. j'oubliais pour le positionnement des "<styles>" et "<script>"
    tu as aussi raison.
    1. Tu as raison POST ça marche (et c'était illogique que ça ne fonctionne pas), dans mes essais j'ai du me planter.
      Merci .
      1. par contre pour la réception la méthode $_POST ne marche pas
        mais avec $_GET c'est ok.
        1. Modérateur
          Tù n'as pas indiqué la "method='post' " dans le form
      2. en enlevant:
        <input type="submit" id="submit" name="submit" value='OK'/>
        ça marche !
        1. Modérateur
          Bonjour,

          Est-ce que l'alert s'affiche au moins ?
          As tu des erreurs dans la console javascript de ton navigateur ?

          Ah.. et,
              </head>
             
          <style>  #photo  {width:90px;  border-radius:20px 20px;  max-height: 90px;}  </style>
             
           <script>
          $( function() { 
              $('#photo').click(function() {     
                 var valeur =  'bleu';
                 $('#categ').val(valeur);
                  alert ( $('#categ').val() );
                
                 $("#form1").submit(); 
          });
          }); 
           </script>
          
              <body>
          

          Soit ut places ton javascript et ton css dans les balises head .. soit dans le body.
          Pas entre les deux... ( il n'y a rien entre </head> et <body> !! )

          D'ailleurs, le mieux, c'est de placer ses codes JS juste avant le </body>