select — метка и значение из поля со списком, используя html и переполнение стека

у меня есть этот код

<?php

$sexV = @$_POST['sex'];  //the value of selected option 1 and 2
$sexL = @$_POST['sex']['label'];  //the value of label of selected option male and female

if(@$_POST['doFun']){
echo $sexV;
}

?>
<form method="post">
<select name="sex" id="sex">
<option value="1" label="male">m</option>
<option value="2" label="female">f</option>
</select>
<input type="submit" name="doFun">
</form>

мой вопрос … как получить значение выбранной опции и значение метки той же опции ??
спасибо ^ _ ^

0

Решение

ВАРИАНТ ПЕРВЫЙ: Не требует JavaScript, но нуждается в разборе PHP стороны

<?php

if(@$_POST['doFun']){
$sexVals = explode(',', $_POST['sex']);

$sexV = $sexVals[0];  //the value of selected option 1 and 2
$sexL = $sexVals[1];  //the value of label of selected option male and female
echo $sexV;
}

?>
<form method="post">
<select name="sex" id="sex">

<option value="1,male">m</option>

<option value="2,female">f</option>

</select>
<input type="submit" name="doFun">
</form>

ВАРИАНТ ВТОРОЙ: Требуется JavaScript, который может быть отключен пользователем и все эти кошмары со стороны клиента.

<form method="post">

<input type="hidden" name="sex-label" id="sex-label"/>

<select name="sex" id="sex">

<option value="1" label="male">m</option>

<option value="2" label="female">f</option>

</select>
<input type="submit" name="doFun">
</form>

<script>
var element = document.getElementById('sex');
var label = document.getElementById('sex-label');

element.onchange = function(){

label.value = element.options[element.selectedIndex].getAttribute("label");

};
</script>

Позднее в PHP …

$sexL = $_POST['sex-label'];
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]