给输入框分配/传递一个值

Javascript: assign/pass a value to a inputbox

本文关键字:一个 输入 分配      更新时间:2023-09-26

我有这个javascript滑块,我的问题是我不能分配/传递滑块的值到一个输入框。我已经尝试使用这个脚本"document.getElementByID('total')。Value = pos"在我的javascript中,但它没有传递任何东西。有什么想法吗?提前感谢!

HTML代码:

< input type="hidden" id="total" value="" style="border:0; color:#f6931f; font-weight:bold;" runat="server" />   
函数:
window.addEvent('domready', function() 
    {
        var mySlideB = new Slider($('slider_gutter_1'), $('slider_knob_1'),         $('slider_bkg_img_1'),
        {
            start: 1,
            end: 100,
            offset: 10,
            onChange: function(pos)
            {
                if (pos <= 10) {
                    $('slider_desc_value').setHTML("Not Important");
                }
                else if ((pos >= 11) && (pos <= 40)) {
                    $('slider_desc_value').setHTML("Partially Important");
                }
                else if ((pos >= 41) && (pos <= 60)) {
                    $('slider_desc_value').setHTML("Important");
                }
                else if ((pos >= 61) && (pos <= 85)) {
                    $('slider_desc_value').setHTML("Very Important");
                }
                else if (pos > 85) {
                    $('slider_desc_value').setHTML("Critical to our business");
                }
                $('slider_current_val').setHTML(pos + ' %');
                $('testjp').setHTML(pos);    
                                    // THIS IS NOT WORKING, HELP?
                **document.getElementById('total').value = pos;**
                                    //This work c/o Ravi. THanks!
                                    document.forms["form1"]["total"].value = pos;
            }
        }, null).setMin(1);
        $('slider_current_val').setHTML(100 + ' %');
    });

试试这个,给你的输入和你的表单一个名字,即

<form name="form"><input type="hidden" name="total"/></form>

and try this

document.forms["form"]["total"].value = xxx;

试试这个,

$('#total').val(pos);

,检查你的onChange函数是否被调用,在函数内放置一个警报。

像这样改变你的函数,

$(document).ready(function(){
//your code here...
});

代替window.addEvent('domready', function()

这个输入有一个runat="server"属性,因为这个属性可以使ASP。网络引擎可能正在分配ID。

作为一个建议,查看您的应用程序的源代码,您将看到ID是否已更改。

如果是,修复很容易。

document.getElementById('<%= total.ClientID %>').value = pos

或其他两个答案所建议的

$('#<%=total.ClientID%>').val(pos);

希望对你有帮助。

问候。

为什么不使用

$('#total').val(pos);

应该没问题

你确定你的输入存在吗?标签没有很好地形成,在<input之间有一个空格。正确的命令是getElementById,而不是ID。