我找到了一个开源PHP脚本,它使用选择菜单来选择语言。
在代码会话中使用循环来填充选择菜单,如上所述......
$la = 0;
foreach($trans['languages'] as $short=>$langname) {
$params['LANGSEL'][$la]['LANG_SHORT'] = $short;
$params['LANGSEL'][$la]['LANG_LONG'] = $langname;
$la++;
}
在php模板中创建像这样的选择菜单......
<td><select class="select" name="lang"><#FOR LANGSEL#>
<option value="<#LANG_SHORT#>"><#LANG_LONG#></option>
<#/FOR LANGSEL#></select></td>
所以这段代码工作正常,但我发现它有点难看,所以我试图改为输入图像 所以我认为这样的事情会起作用。
<input type="image" name="lang" value="http://localhost/index.php?lang=en" src=" <#IMAGES_DIRECTORY#>/english.png"></td>
<input type="image" name="lang" value="http://localhost/index.php?lang=it" src=" <#IMAGES_DIRECTORY#>/italian.png"></td>
但是没有任何变化,页面总是以意大利语显示,这是默认语言。 感谢一位正在努力学习一些HTML和PHP的新手。
答案 0 :(得分:0)
这里的问题是你有两个图像,其中name
个不同,而你需要只有一个表单元素,称为{{1} },其值是正确的name
字符串。在这方面,<#LANG_SHORT#>
和select
表单元素非常适合这项工作,而radio
则不适合。
我似乎也不太可能表单元素确实的值为input
。这不仅仅是改变语言产生的URL吗?您的表单字段的正确值似乎更有可能只是http://localhost/index.php?lang=en
/ en
。
最终,我认为你需要一个隐藏的表单字段,并且it
上有一些Javascript可以在需要时设置该字段的值。请注意,您网站的可用性/可访问性从[可能]高到[绝对]非常低。
答案 1 :(得分:0)
名称字段的值应为<#LANG_SHORT#>
。你没有说处理后的是什么样的,但我很确定它是en
或it
。但是,您提供了一个URL。您还可以在图像的URL前添加几个空格。
这可能会奏效:
<input type="image" name="lang" value="<#LANG_SHORT#>" src="<#IMAGES_DIRECTORY#>/english.png"></td>
请记住在Internet Explorer中测试它。传统上,<input type="image">
元素有几个问题。