我已经写了一个.jsp文件,其内容应该在点击按钮后更新。我尝试使用Javascript的appendChild,但它没有工作,因为这是一个.jsp文件。 这是代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title> Hello World!</title>
</head>
<p id="demo"><h1> Hello, </h1>
<body>
<br/>Firstname:<input type="text" name="firstname">
<button onclick="myFunction()">Enter</button>
<%= request.getParameter("firstname")
%>
<script>
function myFunction()
{
var node=document.getElementById("demo");
document.getElementById("demo").appendChild(<%= request.getParameter("firstname")%>);
}
</script>
</body>
</html>
我希望输出为&#34; 您好,Dia &#34;,如果输入Dia作为名字,并且单击Enter按钮。 firstname应该附加到Hello,!
答案 0 :(得分:1)
您在脚本中混合了scriptlets
。 javascript是一种客户端技术。
虽然编译时在应用程序服务器中执行了scriptlet(它们只是java代码)
试试这个,
<script>
function myFunction()
{
var node=document.getElementById("demo");
var value=<%= request.getParameter("firstname")%>;
document.getElementById("demo").appendChild(value);
}
</script>
答案 1 :(得分:0)
首先,单击您的按钮不会将您带回服务器,因此您不需要使用scriptlet访问文本字段的值,您可以在纯HTML和Javascript中执行此操作
如下:
<html>
<head>
<title> Hello World!</title>
</head>
<body>
<div id="demo"><h1> Hello,<div id="displayName"></div> </h1></div>
<br/>Firstname:<input type="text" name="firstName" id="firstName"/>
<button onclick="myFunction()">Enter</button>
<script>
function myFunction()
{
var firstName = document.getElementById("firstName");
document.getElementById('displayName').innerHTML = firstName.value;
}
</script>
</body>
</html>