以JSP形式返回javascript函数
我有一个javascript函数(get_deviceprint()),用于返回UI数据,如ip、分辨率、设备等。我需要将其作为表单的一部分返回到servlet。我知道这个函数可以工作,因为以JSP形式返回javascript函数,javascript,jsp,Javascript,Jsp,我有一个javascript函数(get_deviceprint()),用于返回UI数据,如ip、分辨率、设备等。我需要将其作为表单的一部分返回到servlet。我知道这个函数可以工作,因为console.log(get_deviceprint())在web控制台中正确显示信息 因此,问题是将其作为字符串传递回服务器。我试过了 <input type="hidden" name="devicePrint" value="<script type="text/javascript"&g
console.log(get_deviceprint())代码>在web控制台中正确显示信息
因此,问题是将其作为字符串传递回服务器。我试过了
<input type="hidden" name="devicePrint" value="<script type="text/javascript"> get_deviceprint()</script>"/>
但这会返回,您似乎对html的一个基本部分和编程语言(通常是上下文)感到困惑。html是用标记构建的。标记可能包含属性,这些属性可能具有值
以树状形式:
tag
| attribute = value
| attribute
tag
| attribute = value
tag
tag
| attribute
...
或者更具体地说:
<input type="password" hidden />
<img src="goat.png" />
<div>Blah</div>
html语法不允许在属性值中指定标记。它只是将其视为常规值
<input type="password" value="<div>blah</div>" />
^-------------^ ^---------------------^
attr=value attr=value
^-----------------------------------------------^
tag
DOM是将html解析为可以使用javascript进行交互的对象的结果。这意味着您可以操纵页面,这正是您想要的。这是一个很大的主题,我不打算在这里介绍它,但这里有一些可以让您了解javascript和DOM的地方:
- (Mozilla开发者网络)
- (MDN)
我不确定这是不是最好的办法。你得到的原因是你是对的。您必须使用文档api:var field2=document.createElement(“输入”);字段2.setAttribute(“类型”、“隐藏”);field2.setAttribute(“值”,get_deviceprint());字段2.setAttribute(“名称”、“设备打印”);文件.指令表.附录子项(字段2);document.instructionForm.submit()代码>另一种方法是按照此处的指定向表单中添加ID:很好,很高兴您得到了它!
<input type="password" value="<div>blah</div>" />
^-------------^ ^---------------------^
attr=value attr=value
^-----------------------------------------------^
tag
var input = magically_get_the_input_element();
input.value = get_deviceprint();