【问题标题】:JavaScript: Print HTML Form Values onChangeJavaScript:在更改时打印 HTML 表单值
【发布时间】:2011-09-07 18:35:17
【问题描述】:

一旦被选中,我试图从表单下拉框(命名集)中回显所选值的值。目前,我没有运气。另请注意,我正在使用 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);

【问题讨论】:

    标签: javascript forms codeigniter onchange


    【解决方案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);
    }
    

    【讨论】:

      【解决方案2】:

      对于选择框,不能只用.value,稍微复杂一点。这应该是你想要的:

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

      【讨论】:

        猜你喜欢
        • 2010-10-25
        • 1970-01-01
        • 1970-01-01
        • 2015-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-16
        相关资源
        最近更新 更多