2010-10-17 8 views
1

je le menu déroulant ci-dessousValeur de réglage de la zone de liste déroulante à la dernière valeur soumise avec javascript

<form name="myform" method="POST" ACTION="songs.php"> 
Select Category: <select id="sel" name="categories" onchange="document.myform.submit()"> 

Et toutes les options après suivre. Lorsque l'utilisateur fait une sélection, la catégorie est affichée ci-dessous en utilisant PHP et MYSQl basé sur la sélection contenant une liste de chansons, etc.

Cependant, la liste déroulante revient toujours par défaut à la première valeur de la liste d'options. Comment faire pour que la zone de liste déroulante définisse l'option sélectionnée sur la dernière valeur soumise? Merci d'avance!

Répondre

1

Vous ne pouvez pas faire cela avec JS car il n'a aucun accès direct aux paramètres de la requête POST. Laissez plutôt la langue côté serveur (qui est dans votre cas PHP) imprimer l'attribut selected sur l'élément <option> chaque fois que la valeur soumise correspond à la valeur de l'option.

E.g.

foreach ($options as $value => $label) { 
    echo '<option value="' . $value . '"' . ($selected == $value ? ' selected' : '') . '>' . $label . '</option>'; 
} 
+0

Nous vous remercions de votre aide :) –

Questions connexes