Javascript et liste déroulante
Résolu
Alex
-
Alex -
Alex -
Bonjour,
Je souhaite vérifier en javascript que au moins un élement de ma liste deroulante multiple ait été sélectionné... Mais je ne m'en sors pas !!!
Voici mon code pr la vérification :
function select_selected(form){
for (i=0, n=form.elements.length; i<n; i++){
if ((form.elements[i].selected == true))
return true }
return false;
}
Et voici mon code sur ma page web
<form method="post" action="" name="supr_club">
Clubs à supprimer :
<select name="club_supr[]" multiple="true" size="8">
<?php
$select = "select * from clubs order by nom";
$result = mysql_query($select);
while($data = mysql_fetch_array($result)){
echo '<option value="'.$data['id'].'">'.$data['nom'].'</option>';
}
?>
</select>
<input type="hidden" name="champ" value="<?php echo $champ; ?>">
<input type="hidden" name="asupr" value="asupr">
<input type="button" value="Supprimer" onclick="javascript:select_selected(this.form);">
</form>
Je sature.....Merci de votre aide ;)
Je souhaite vérifier en javascript que au moins un élement de ma liste deroulante multiple ait été sélectionné... Mais je ne m'en sors pas !!!
Voici mon code pr la vérification :
function select_selected(form){
for (i=0, n=form.elements.length; i<n; i++){
if ((form.elements[i].selected == true))
return true }
return false;
}
Et voici mon code sur ma page web
<form method="post" action="" name="supr_club">
Clubs à supprimer :
<select name="club_supr[]" multiple="true" size="8">
<?php
$select = "select * from clubs order by nom";
$result = mysql_query($select);
while($data = mysql_fetch_array($result)){
echo '<option value="'.$data['id'].'">'.$data['nom'].'</option>';
}
?>
</select>
<input type="hidden" name="champ" value="<?php echo $champ; ?>">
<input type="hidden" name="asupr" value="asupr">
<input type="button" value="Supprimer" onclick="javascript:select_selected(this.form);">
</form>
Je sature.....Merci de votre aide ;)
A voir également:
- Javascript et liste déroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Liste code ascii - Guide
- Site dangereux liste - Guide
3 réponses
ou sinon vu que tu verifie au click, tu peux aussi juste faire:
function select_selected(form){
var select = document.getElementById("club_supr");
verif=false;
for (i=0; i<select.length; i++)
{
if (select.options[i].selected == true)
verif =true;
}
return verif;
}
et juste changer:
<select name="club_supr[]" multiple="multiple" size="8">
en
<select id="club_supr" name="club_supr[]" multiple="true" size="8">
cordialement, dreamfeeder.
function select_selected(form){
var select = document.getElementById("club_supr");
verif=false;
for (i=0; i<select.length; i++)
{
if (select.options[i].selected == true)
verif =true;
}
return verif;
}
et juste changer:
<select name="club_supr[]" multiple="multiple" size="8">
en
<select id="club_supr" name="club_supr[]" multiple="true" size="8">
cordialement, dreamfeeder.
voici ce qui pourrait faire l'affaire:
function makeXHR(){ var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert("Your browser does not support AJAX!"); return false; } } } return xmlHttp; } function select_selected(form){ var select = form.getElementsByTagName("select")[0]; var au_moins_un = false; for (i = 0; i<select.length; i++){ if (select.options[i].selected){ au_moins_un = true; // ici on peut mettre le code Ajax pour supprimer le club select.options[i].value /* var xhr = makeXHR(); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (xhr.status == 200){ // action à faire lorsque la suppression s'est bien passée. } } } xhr.open("POST","ajax/remove_club.php", true); xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr.send("remove_club="+select.options[i].value); */ } } return au_moins_un; } <form method="post" action="" name="supr_club"> Clubs à supprimer : <select name="club_supr[]" multiple="multiple" size="8"> <?php $select = "SELECT * FROM clubs ORDER BY nom;"; $result = mysql_query($select); while($data = mysql_fetch_array($result)){ echo '<option value="'.$data['id'].'">'.$data['nom'].'</option>'; } ?> </select> <input type="hidden" name="champ" <?php echo "value='$champ'"; ?> /> <input type="hidden" name="asupr" value="asupr" /> <input type="button" value="Supprimer" onclick="select_selected(this.form);" /> </form>