В основном я пытаюсь отладить это: у меня есть HTML-форма и send.php, из которых я извлекаю данные вроде
$locridicare= addslashes($_GET['liv']);
$locreturnare=addslashes($_GET['ret']);
$codlocridicare=addslashes($_GET['locridicare']);
$codlocreturnare=addslashes($_GET['locreturnare']);
Codlocridicare должен получить VALUE, и locridicare должен получить ТЕКСТ из опции SELECT, называемой locridicare.
То же самое для codlocreturnare и locreturnare, от другого выберите.
Форма, в которой я запускаю:
<script>
function changelivrare (objDropDown)
{
document.getElementById("liv").value = objDropDown.value;
}
function changereturnare (objDropDown)
{
document.getElementById("ret").value = objDropDown.value;
}
</script>
а затем в форме
<select name="locridicare" id="locridicare" onchange="changelivrare(this)">
<option value=""> --- Selectaţi --- </option>
<option value="3231">Aeroport Otopeni - Bucuresti</option>
</select>
<input type="hidden" name="liv" id="liv" />
<select name="locreturnare" id="locreturnare" onchange="changereturnare(this)" >
<option value=""> --- Selectaţi --- </option>
<option value="3231">Aeroport Otopeni - Bucuresti</option>
</select>
<input type="hidden" name="ret" id="ret" />
Чтобы получить выбранный текст опции, используйте:
function changelivrare(objDropDown) {
document.getElementById("liv").value = objDropDown.options[objDropDown.selectedIndex].innerHTML;
}
objDropDown.value
- это значение выбранного параметра, а не его текст. objDropDown.options
- это набор опций, а objDropDown.selectedIndex
- позиция выбранного параметра.
Я также предлагаю вам объединить две функции в одну:
function textToHiddenInput(objDropDown, inputID) {
document.getElementById(inputID).value = objDropDown.options[objDropDown.selectedIndex].innerHTML;
}
Затем вы меняете HTML на:
<select name="locridicare" id="locridicare" onchange="textToHiddenInput(this, 'liv')">
...
<select name="locreturnare" id="locreturnare" onchange="textToHiddenInput(this, 'ret')" >