我正在努力使链接工作,我们点击以使用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'为null或不是对象”。
经过一些研究后,我发现IE8及以上版本不支持getElementsByName()
,也许解决方案是使用jQuery,这是我需要帮助的地方。
如何使用jQuery或不使用它?
答案 0 :(得分:1)
您可以尝试使用ID
或class
来实现相同目的,而不是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');
我希望这有帮助!
答案 1 :(得分:-1)
为此以您希望切换名称为Id的方式工作。
<script type="text/javascript" language="javascript">
function langa (obj, valu){
$("#languageval").val(valu);
$("#currlang").submit();
}
</script>
#将使用该Id拉取元素,val()是元素值的get / set。
编辑:将类型和语言标签添加到