JavaScript: печать значений в HTML-форме onChange - PullRequest
0 голосов
/ 07 сентября 2011

Я пытаюсь отобразить значение выбранного значения из выпадающего списка формы (именованные наборы) после его выбора.На данный момент мне не повезло.Также обратите внимание, что я использую codeigniter, но я думаю, что это будет проблемой.

<head>
    <script type="text/javascript">
        function set_boxes()
        {
            var TestVar = form.sets.value;
            alert("TestVar");
        }
    </script>
</head>

<h1>New Entry</h1>

<?php 

echo form_open('log/add_entry'); 

/*Weight Entry*/
echo form_label('Weight:', 'weight'); 
echo form_input('weight'); 

/*Weight Measurement*/
$measurementOptions = array('kg' => 'KG', 'lbs' => 'LBS');
echo form_dropdown('measurement', $measurementOptions, 'kg');

echo " - ";

/*Sets at Weight*/
echo form_label('Sets:', 'sets');
$setOptions = array('' => '', '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', );
$js = 'onChange="set_boxes(this.form);"';
echo form_dropdown('sets', $setOptions, '', $js);

Ответы [ 2 ]

1 голос
/ 07 сентября 2011

Несколько возможностей:

Ваша функция и ее вызов не соответствуют друг другу:

onChange="set_boxes(this.form)" // 1 argument

function set_boxes()            // 0 arguments

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

function set_boxes(form)

При этом переменная form в функции будет равна ожидаемому объекту DOM:

var TestVar = form.sets.value;

Кроме того, вы хотели предупредить строку "TestVar"? Если вы хотите предупредить значение переменной, просто бросьте кавычки:

alert(TestVar);

Итак, попробуйте:

function set_boxes(form)
{
    var TestVar = form.sets.value;
    alert(TestVar);
}
0 голосов
/ 07 сентября 2011

Для полей выбора вы не можете просто использовать .value Это немного сложнее. Это должно быть то, что вы хотите:

var TestVar = form.sets.options[form.sets.selectedIndex].value;
...