以JSP形式返回javascript函数

以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

我有一个javascript函数(get_deviceprint()),用于返回UI数据,如ip、分辨率、设备等。我需要将其作为表单的一部分返回到servlet。我知道这个函数可以工作,因为
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();