基本上我的问题是当我想把javascript与java代码混合,因为当我把“<%”开始放入java代码时我没有接受变量(var nombreRodamiento javascript)。 请注意粗线,这是编译器不喜欢的。
<script type="text/javaScript">
function moveToRightOrLeft(side) {
var listLeft = document.getElementById('selectLeft');
var listRight = document.getElementById('selectRight');
if (side == 1) {//izquierda
if (listLeft.options.length == 0) {
alert('Ya aprobaste todos los items');
return false;
} else {
var rodamientoElegido = listLeft.options.selectedIndex;
var nombreRodamiento = listLeft.options[rodamientoElegido].text;
move(listRight, listLeft.options[rodamientoElegido].value,
listLeft.options[rodamientoElegido].text);
listLeft.remove(rodamientoElegido);
<%
**String nombreRodamiento = '%> nombreRodamiento;<%'**
for (int i=0;i<listaItems.size();i++){
if (listaItems.get(i).equals(nombreRodamiento))
listaItems.remove(i);
}
%>
if (listLeft.options.length > 0) {
listLeft.options[0].selected = true;
}
}
}
}
</script>
此致
答案 0 :(得分:2)
假设这都在JSP内部。 java代码(scriptlet,&lt; %%&gt;标记内的所有内容)将执行服务器端,javascript将执行客户端(在用户的浏览器中)。然而,您似乎正在为java变量分配javascript变量nombreRodamiento的值。那不行。无论何时评估scriplet,javascript都只是文本,没有值,执行上下文等。
答案 1 :(得分:1)
Java字符串需要双引号,并且您缺少一个分号,Java不会自动插入。
答案 2 :(得分:0)
假设这是jsp文件的一部分,java代码和js代码分别执行。第一个java代码在服务器端获取执行,然后在客户端获取javascript代码。事实上,jsp中的java scriplet渲染了稍后在客户端执行的js代码,在本例中是一个浏览器。
因此,不能将javascript变量值分配给java变量,但反过来是可能的.T
编辑:
我可以给你一些步骤,因为我不知道你的服务器端实现。
希望这有帮助。