将参数从速度传递给javascript

时间:2011-07-14 07:10:16

标签: javascript velocity

我添加了onfocus和onclick来选择和编写java脚本函数,如下所示。使用速度即.vm文件来调用javascript函数。

    <script type="text/javascript">
                function fixA(val){
                    alert(val);                              
                   // document.getElementById(val).style.zIndex="100";
                   val.style.zIndex=300;
                }
                function fixB(val){
                    alert(val);                               
                   // document.getElementById(val).style.zIndex="300";
                      val.style.zIndex=300;
                }

            </script>


#elseif ( $el.type.code == "listbox" )
#if( $errorFields.contains($name) )
    <div class="label selectbox big error"> 
#else
    <div class="label selectbox big" >
#end
    #if ($el.label)
        #if ($el.mandatory)
            <label class="label_content" for="$name">$el.label *</label>
        #else
            <label class="label_content" for="$name">$el.label</label>
        #end
    #end
    <select class="select_styled" id="$name" name="$name" onfocus="fixA($name)" onclick="fixB($name)" >
        #foreach($val in $el.values)
            #set ($sel = "")
            #if ($allInputFields.get($name) == $val)
                #set ($sel = ' selected="selected"')
            #end
            <option$sel onclick="resetIndex()">$val</option>
        #end
    </select>
    <div class="clr">
    </div>
</div>

1)我正在使用IE7并且它无法正常工作,它在FF中工作正常。

2)alert(val)给出[object HTMLSelectElement]的值,但alert( document.getElementById(val));给出null。我怎么解决呢?

4 个答案:

答案 0 :(得分:2)

主要错误您需要引用名称fixA('$ name')

最好传递这个:onfocus =“fixA(this)”

function fixA(sel){
  sel.style.zIndex=100; // int, not a string
}
好像你正在咆哮错误的树。

该插件将DOM重写为一组div

你使用的 jQuery selectbox插件应该只是你想要实现的目标,并且由于IE7的某些特定原因而失败:$container.css("z-index", "10000");

答案 1 :(得分:1)

变量s不是ID,它已经是对元素的引用。

答案 2 :(得分:1)

没有引号,它传递一个名为$ name的对象,而不是字符串“$ name”。那将是空的或未定义的。

使用单引号引用“$ name”:onclick="fixA('$name')"

答案 3 :(得分:1)

像这样改变:

<select class="select_styled" id="$name" name="$name" 
        onfocus="fixA('$name')" onclick="fixB('$name')">