Передача данных в send.php - выберите текст опции и значение

0

В основном я пытаюсь отладить это: у меня есть 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" />
  • 0
    Можете ли вы добавить, что находится в атрибутах <form>, т.е. куда вы отправляете это?
  • 0
    Вы не помещаете текст выбранной опции в скрытый ввод, вы помещаете значение.
Показать ещё 1 комментарий
Теги:
forms

1 ответ

0

Чтобы получить выбранный текст опции, используйте:

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')" >
  • 0
    Какое превосходное решение. Так элегантно. У меня только одна крошечная проблема. Оба поля $ locridicare = addlashes ($ _ GET ['liv']); а также $ locreturnare = addlashes ($ _ GET ['ret']); вернуть то же значение при извлечении через SEND.php. Тестовая страница здесь carpro.ro/ping
  • 0
    Дурак я! Оно работает!!!! Я люблю это. Если вам когда-нибудь понадобятся советы по SEO или создание ссылок, дайте мне знать.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню