2017-04-21 2 views
0

Je ne veux pas d'un bouton pour soumettre les informations de ma liste déroulante, donc je pense que onchange serait le meilleur moyen de le soumettre à la place. Mais je ne sais pas comment l'appliquer quand j'utilise href et pas de valeur. Y a-t-il un moyen de faire cela?Soumettre sans bouton à partir de html select, mais en utilisant href et pas de valeur?

J'ai ce pour le html:

<a href='index.php'>Home </a>| 
    <a href='index.php?mode=customers'>List of Customers </a>| 
    <a href='index.php?mode=movieList&genre=Drama'>Drama Movies </a>| 
    <a href='index.php?mode=movieList&genre=Adventure'>Adventure Movies </a>| 
    <select> 
      <option disabled selected>Popular Movies</option> 
      <option><a href='index.php?mode=favoriteGenre&genre=Adventure'>Adventure</a> 
      <option><a href='index.php?mode=favoriteGenre&genre=Romance'>Romance</a> 
      <option><a href='index.php?mode=favoriteGenre&genre=Drama'>Drama</a> 
      <option><a href='index.php?mode=favoriteGenre&genre=Comedy'>Comedy</a> 
      <option><a href='index.php?mode=favoriteGenre&genre=Sci-Fi'>Sci-Fi</a> 
    </select> 

puis le php correspondant pour seulement le menu déroulant:

case "favoriteGenre" : 

     $genre = (isset($_GET['genre'])) ? $_GET['genre'] : -1; 
     // step 1: Define SQL Statement 
     $sql = "SELECT first_name, last_name, title, `movies`.type, date_out FROM `movies`,`customers` WHERE `movies`.type='".$genre."'"; 
     // obtain data 
     $movieInfo = getAll($sql); 
     // define column labels 
     $movie_labels = array('First Name', 'Last Name', 'Title', 'Genre', 'Date Out'); 
     echo "All instances of rental where the genre is " . $genre . ":"; 
     // display data 
     displayTable($movieInfo, $movie_labels); 
     break; 

Et si cette question est répondu ailleurs, s'il vous plaît me point juste au bon direction. Je n'ai pas réussi à le trouver jusqu'ici. Merci!

+0

Ceci est une bonne solution: http://stackoverflow.com/a/2000689 – Brian

+0

Si je l'ai changé pour: serait toujours travailler pour obtenir le mode et le genre? Et comment cela aiderait-il à ce que l'envoi se fasse lorsque l'option a été sélectionnée et que vous n'utilisez pas de bouton? – RachaelTheBlonde

Répondre

1

Au lieu de liens gardant options à l'intérieur, attribuer des valeurs aux options comme celui-ci -

<a href='index.php'>Home |</a> 
<a href='index.php?mode=customers'>List of Customers |</a> 
<a href='index.php?mode=movieList&genre=Drama'>Drama Movies |</a> 
<a href='index.php?mode=movieList&genre=Adventure'>Adventure Movies |</a> 
<select id="movieOptions"> 
     <option disabled selected>Popular Movies</option> 
     <option value="mode=favoriteGenre&genre=Adventure">Adventure</option> 
     <option value="mode=favoriteGenre&genre=Romance">Romance</option> 
     <option value="mode=favoriteGenre&genre=Drama">Drama</option> 
     <option value="mode=favoriteGenre&genre=Comedy">Comedy</option> 
     <option value="mode=favoriteGenre&genre=Sci-Fi">Sci-Fi</option> 
</select> 

<script> 
    $("#movieOptions").change(function() { 
     var goTo = this.value; 
     console.log(goTo); 
     window.location.href = "index.php?" + goTo; 
    }); 
</script> 
+0

Merci! Cela a fonctionné! – RachaelTheBlonde