我编写了一个java脚本函数,它将根据作为参数传递给函数的代码返回语言名称。
我从servlet获取代码作为响应。我尝试了以下方式:
----
</fieldset>
<fieldset class = "field">
<legend>Language</legend>
<table border = '0'>
<tr>
<td>Spoken:</td>
<!-- <td><input type = "text" name = "FirstName" value = "${spoken}"/></td> -->
<td><input type = "text" name = "spoken" value = getLanguage(${spoken}) /></td>
</tr>
<tr>
<td>Written:</td>
<td><input type = "text" name = "written" value = "${written}"/></td>
</tr>
</table>
</fieldset>
----
Java脚本函数:
<script>
function getLanguage(code) {
if(code.equals("EN"))
return "ENGLISH";
else if(code.equals("SP"))
return "SPANISH";
else
return "";
}
</script>
但是在输出而不是显示语言时,我正在显示函数调用。有人能告诉我这里发生了什么问题吗?
答案 0 :(得分:0)
也许你不能这样做。你将代码传递给js函数,然后在js函数内部你可以进行操作。像那样;
<script>
function setLanguage(code, elementId) {
if(code.equals("EN"))
document.getElementsByTagId(elementId).val = "ENGLISH";
else if(code.equals("SP"))
document.getElementsByTagId(elementId).val = "SPANISH";
else
document.getElementsByTagId(elementId).val = "Unknow";
}
</script>
答案 1 :(得分:0)
您需要在<script>
和</script>
之间调用javascript函数。
可能有几种方法可以解决这个问题。一种解决方案如下:
在你的html中,使用
<input type = "text" name = "FirstName" data-value = "${spoken}"/>
请注意data-value
属性如何保存spoken
的值。
在定义 <script>
之后,请使用以下getLanguage()
块:
<script>
(function() {
var input = document.querySelector('input[name=FirstName]')[0];
var code = input.getAttribute('data-value');
input.setAttribute('value', getLanguage(code));
})();
</script>