1

我正在尝试使我们单击以使用 JavaScript 更改网站语言的链接工作。这是HTML代码:

'<form action="" method="post" name="currlang">'.
    '<input type="hidden" name="languageval" value="'.$session->value("language").'"/>'.
    '<a onclick="langa(this, \'en\');" class="langs'.($session->value("language")=='en'?" active":"").'" id="en"></a>'.
    '<a onclick="langa(this, \'it\');" class="langs'.($session->value("language")=='it'?" active":"").'" id="it"></a>'.
    '<a onclick="langa(this, \'pl\');" class="langs'.($session->value("language")=='pl'?" active":"").'" id="pl"></a>'.
'</form>'.

这里是javascript:

function langa(obj, valu) {
    document.getElementsByName("languageval")[1].value=valu;
    document.getElementsByName('currlang')[1].submit();
}

该脚本在新浏览器(Firefoxe、Opera、Chrome、IE9)上运行良好,但在 IE8 上测试时出现错误:

“'document.getElementsByName(...).1' 为空或不是对象”。

经过一些研究,我发现getElementsByName()IE8 及更高版本不支持,也许解决方案是使用 jQuery,这就是我需要帮助的地方。我怎样才能使用 jQuery 或不使用它?

4

2 回答 2

1

您可以尝试使用IDorclass来实现相同的目的,而不是name.

例子:

<div id="foo">This is id of foo</div>
<div class="choo">This is class of choo</div>

然后,如果您使用ID然后使用:

document.getElementById('foo');

class使用:

document.getElementsByClassName('choo');

我希望这有帮助!

于 2012-10-25T12:55:14.373 回答
-1

为此,您希望将名称切换为 Id。

<script type="text/javascript" language="javascript">
   function langa (obj, valu){
      $("#languageval").val(valu);
      $("#currlang").submit();
   }
</script>

# 将使用该 Id 提取元素,而 val() 是元素值的获取/设置。

编辑:将类型和语言标签添加到

于 2012-10-25T12:52:59.893 回答