Supprimer liste déroulante.
Résolu/Fermé
A voir également:
- Supprimer liste déroulante.
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Supprimer edge - Guide
4 réponses
Salut effectivement c'était ca. Merci
Ca ne marche pas sur IE7 mais bien sur firefox.
Internet explorer me retourne une erreur du type "Argument non valide" à la ligne 34 (ch2.options.add(oOption);)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title></title>
</head>
<body>
<?php
function mysql_to_js()
{
mysql_connect("localhost", "root", "");
mysql_select_db("projet2");
// Requête mysql
$req = mysql_query("SELECT CONCAT(nom,' ',prenom) as nom FROM utilisateurs order by nom");
$taille = mysql_num_rows($req);
$nomtabjs = "tableau";
$numfields = mysql_num_fields($req);
if($numfields > 0)
{
echo("<script type=\"text/javascript\">");
echo("var taillejs =".$taille.";" );
echo("var ".$nomtabjs." = new Array(".$numfields.");\n");
for($i=0; $i<$numfields; $i++)
{
echo($nomtabjs."['".mysql_field_name($req, $i)."'] = new Array(".$taille.");\n");
}
}
if($taille>0)
{
// Déclaration du reste des valeurs du résultat de la requête.
$i=0;
while($data = mysql_fetch_assoc($req))
{
foreach($data as $key => $value)
{
echo($nomtabjs."['".mysql_escape_string($key)."'][".$i."] = '".mysql_escape_string($value)."';\n");
}
$i++;
}
}
else
{
echo("var ".$nomtabjs." = null;\n");
}
}
mysql_to_js();
?>
var c,c2, ch1, ch2;
// ajouter un champ avec son "name" propre;
function plus(){
c=document.getElementById('cadre'); c2=c.getElementsByTagName('select');
ch2=document.createElement('select');
for (z = 0 ; z < taillejs ; z++)
{
var oOption = document.createElement("OPTION");
oOption.value = tableau['nom'][z];
oOption.text = tableau['nom'][z];
ch2.setAttribute('name','ch2'+c2.length);
c.appendChild(oOption);
ch2.options.add(oOption); // ICI
c.appendChild(ch2);
}
document.getElementById('sup').style.display='inline';
}
// supprimer le dernier champ;
function moins(){
if(c2.length>0){
c.removeChild(c2[c2.length-1]);
}
if(c2.length==0){document.getElementById('sup').style.display='none'};
}
</script>
</head>
<body>
<form id="frm" action="">
<div id="cadre" style="margin-left:100px;width:200px">
</div>
<p>
<input type="button" value="Ajouter un destinataire" onclick="plus()" />
<input type="button" style="display:none" id="sup" value="Supprimer le dernier destinataire" onclick="moins()" />
</p>
</form>
</body>
</html>
Ca ne marche pas sur IE7 mais bien sur firefox.
Internet explorer me retourne une erreur du type "Argument non valide" à la ligne 34 (ch2.options.add(oOption);)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title></title>
</head>
<body>
<?php
function mysql_to_js()
{
mysql_connect("localhost", "root", "");
mysql_select_db("projet2");
// Requête mysql
$req = mysql_query("SELECT CONCAT(nom,' ',prenom) as nom FROM utilisateurs order by nom");
$taille = mysql_num_rows($req);
$nomtabjs = "tableau";
$numfields = mysql_num_fields($req);
if($numfields > 0)
{
echo("<script type=\"text/javascript\">");
echo("var taillejs =".$taille.";" );
echo("var ".$nomtabjs." = new Array(".$numfields.");\n");
for($i=0; $i<$numfields; $i++)
{
echo($nomtabjs."['".mysql_field_name($req, $i)."'] = new Array(".$taille.");\n");
}
}
if($taille>0)
{
// Déclaration du reste des valeurs du résultat de la requête.
$i=0;
while($data = mysql_fetch_assoc($req))
{
foreach($data as $key => $value)
{
echo($nomtabjs."['".mysql_escape_string($key)."'][".$i."] = '".mysql_escape_string($value)."';\n");
}
$i++;
}
}
else
{
echo("var ".$nomtabjs." = null;\n");
}
}
mysql_to_js();
?>
var c,c2, ch1, ch2;
// ajouter un champ avec son "name" propre;
function plus(){
c=document.getElementById('cadre'); c2=c.getElementsByTagName('select');
ch2=document.createElement('select');
for (z = 0 ; z < taillejs ; z++)
{
var oOption = document.createElement("OPTION");
oOption.value = tableau['nom'][z];
oOption.text = tableau['nom'][z];
ch2.setAttribute('name','ch2'+c2.length);
c.appendChild(oOption);
ch2.options.add(oOption); // ICI
c.appendChild(ch2);
}
document.getElementById('sup').style.display='inline';
}
// supprimer le dernier champ;
function moins(){
if(c2.length>0){
c.removeChild(c2[c2.length-1]);
}
if(c2.length==0){document.getElementById('sup').style.display='none'};
}
</script>
</head>
<body>
<form id="frm" action="">
<div id="cadre" style="margin-left:100px;width:200px">
</div>
<p>
<input type="button" value="Ajouter un destinataire" onclick="plus()" />
<input type="button" style="display:none" id="sup" value="Supprimer le dernier destinataire" onclick="moins()" />
</p>
</form>
</body>
</html>
Trouvé c'est bon.
Il fallait remplacer la ligne bizare avec
ch2.options[ch2.options.length] = new Option ('text','value');
Merci.
Il fallait remplacer la ligne bizare avec
ch2.options[ch2.options.length] = new Option ('text','value');
Merci.
Absinthe06
Messages postés
102
Date d'inscription
vendredi 11 juillet 2008
Statut
Membre
Dernière intervention
7 juillet 2010
11
26 sept. 2008 à 12:58
26 sept. 2008 à 12:58
(EDIT : dsl pour le double post, plantage navigateur ><)
Salut,
c'est tout a fait normal, la liste deroulante est créée a partir de la balise HTML <select>, et non <input> ;)
il faut modifier ton javascript pour qu'il traite les deux balises séparéments.
Salut,
c'est tout a fait normal, la liste deroulante est créée a partir de la balise HTML <select>, et non <input> ;)
il faut modifier ton javascript pour qu'il traite les deux balises séparéments.
Absinthe06
Messages postés
102
Date d'inscription
vendredi 11 juillet 2008
Statut
Membre
Dernière intervention
7 juillet 2010
11
26 sept. 2008 à 12:58
26 sept. 2008 à 12:58
--
"Un con qui roule va plus loin qu'un intellectuel assis..."
Absinthe, game designer, graphiste, et webmaster à ses heures perdues...
"Un con qui roule va plus loin qu'un intellectuel assis..."
Absinthe, game designer, graphiste, et webmaster à ses heures perdues...