JavaScript:打印HTML表单值onChange

时间:2011-09-07 18:35:18

标签: javascript forms codeigniter onchange

我试图在选择后从表单下拉框(命名集)中回显出所选值的值。目前,我没有运气。另外要注意我使用的是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 个答案:

答案 0 :(得分:1)

一些可能性:

您的功能及其呼叫彼此不一致:

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);
}

答案 1 :(得分:0)

对于选择框,您不能只使用.value它有点复杂。这应该是你想要的:

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