2010-03-12 8 views
1

Dans ma demande, je soumets mon formulaire en utilisant un post pour une page php.Liste déroulante en PHP

<form method="post"> 
<select name="txtplace"> 
<option value="1">ajith</option> 
</select> 
</form> 

ici quand je suis essayer d'obtenir la valeur de mon menu déroulant son seul se 1.How puis-je obtenir ajith

+0

S'il vous plaît ajouter un peu de HTML et PHP et soyez plus clair sur votre question. – douwe

Répondre

0

Si vous voulez juste "ajith" alors faites comme Shoban suggère. Si vous avez besoin à la fois 1 et « ajith » vous pouvez toujours avoir: <option value="1-ajith">ajith</option>

Et puis avec php:

$sTxtPlace = $_POST['txtplace']; 
list($number,$text) = explode("-",$sTxtPlace,2); 
+0

merci.en fait j'ai besoin à la fois – abhis

+0

Vérifiez la modification que je viens de faire. Utilisez exploser pas divisé. – Septih

+0

Que faire si l'étiquette elle-même contient un "-"? – pinaki

2
<option value="ajith">ajith</option> 

devrait fonctionner. Vous obtenez la valeur 1 car vous avez défini value comme 1.

+0

merci pour votre suggection.but j'ai besoin à la fois pour mon application – abhis

0

Vous n'obtiendrez que '1' dans votre script de formulaire, car il s'agit de la valeur de l'élément option. Vous pouvez remplacer ce qui suit:

<form method="post"> 
<select name="txtplace"> 
<option value="ajith">ajith</option> 
</select> 
</form> 

plutôt que d'utiliser l'ID (je présume) de cet élément.

0
<option value="ajith">ajith</option> 
0

Vous pouvez utiliser un élément caché et ajouter un gestionnaire onchange à la sélection pour remplir l'étiquette partie. Les avantages sont que vous n'avez pas besoin de changer votre code de rendu et vous n'avez pas besoin d'exploser.

Essayez:

<form method="post"> 
<input type="hidden" id="txtPlaceLabel" name="txtPlaceLabel" value=""> 
<select name="txtplace" onchange="document.getElementById('txtPlaceLabel').value=this.options[this.options.selectedIndex].innerHTML;"> 
<option value="ajith">ajith</option> 
</select> 
</form> 

Remarque: avez pas testé le code alors peut-être un peu de montage sera nécessaire.

1

Peut-être qu'il est mieux si vous définissez un tableau en php:

$arr = array (1 => "ajith"); 

Générez ensuite le code HTML dynamiquement:

<option name="test" value="$i">$arr[$i]</option> 

Puis après le post:

$key = $_GET['test']; 
$value = $arr[$key]; 
+0

qu'accepter aveuglément et utiliser la valeur affichée. – Alex

Questions connexes