Установить значение переменной из ввода перед отправкой - PullRequest
1 голос
/ 18 января 2012

Сначала у меня есть этот ввод в форме.

<select id="entry_14">
     <option value="Woman">Woman</option>
     <option value="Man">Man</option>
</select>

Затем я объявил эту переменную.

var mygender = document.getElementById('entry_14').value;

, но затем, когда я document.write, он уже показывает "«Мужчина» до того, как пользователь даже делает выбор, а после выбора женщины он все еще показывает мужчину.

Как настроить значение этой переменной для изменения, каждый раз, когда пользователь выбирает один из вариантов?

Ответы [ 4 ]

5 голосов
/ 18 января 2012

Он выполняется немедленно, потому что ваш код не находится в функции. Вам нужно вызвать эту функцию, когда выбор изменится. Добавьте обработчик onchange к вашему select.. В этом примере я передаю this.value, которое является значением списка выбора для функции. Наконец, вы можете делать все, что вы хотите с этим значением.

<select id="entry_14" onchange="myfunction(this.value);">
    <option value="Woman">Woman</option> 
    <option  value="Man">Man</option>
</select>

<script>
    function myfunction(val) {
        document.write(val);
    }
</script>
3 голосов
/ 18 января 2012

объявить onchange event handler.

document.getElementById('entry_14').onchange = function(){
var mygender =  this.value;
document.write(mygender);
}
0 голосов
/ 18 января 2012

Я думаю, что вы ищете это

var mygender= document.getElementById('entry_14');
var gender= mygender.options[mygender.selectedIndex].value;// for value 

var gender= mygender.options[mygender.selectedIndex].Text;//for text
0 голосов
/ 18 января 2012

Добавьте обработчик onChange JS к элементу

<select id="entry_14" onChange="updateMyGender();">
    ....
</select>

<script>
    var mygender = document.getElementById('entry_14').value;
    function updateMyGender()
    {
        mygender = document.getElementById('entry_14').value;
    }
</script>
...