html>
<head>
<title>Landing</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
</head>
<body>
<form name="testForm" action="move.jsp">
<label><h1>Enter the data <h1/></label><br/>
<input type="text" name="DATA"><br/>
<input type="submit">
</form>
<% out.println(DATA) %> <!-- WRONG!! -->
</body>
</html>
请忽略操作部分
我正在从事Spring MVC项目,但遇到了问题。我想要的是,当用户单击提交时,我们不应该离开页面,而应该留下。但是提交的值将用作同一页面中函数的参数。在这里,我们只说我要打印它,那是输入错误的部分。
我应该怎么做才能做到这一点?请帮忙
答案 0 :(得分:1)
单击提交按钮时,您可以在此处使用ajax
来调用此函数,然后使用此调用,您的ajax将值从输入中传递给服务器,然后在服务器端执行您需要执行的操作然后将结果返回给ajax。
您的表格:
<form name="testForm" action="move.jsp">
<label><h1>Enter the data <h1/></label><br/>
<input type="text" name="DATA"><br/>
<input type="button" onclick="submit_values()">
<!--^^added this-->
</form>
<div id="result"><!--here data will come back--></div>
然后单击按钮submit_values()
将被调用。即:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"> </script>
<script>
function submit_values() {
//get input value
var values = $("input[name='DATA']").val();
console.log(values);
$.ajax({
type: 'POST',
data: {
values: values//passing to server
},
url: "Your_server_url",
success: function(data) {
alert(data);//this will display whatever server will return
$("#result").html(data);//add response back to show
}
});
}
</script>
然后在您的服务器端执行以下操作:
String data =request.getParameter("values");//get value
String send_back = something(data);//call your function
out.println("DATA BACK"+send_back );//this will go back to ajax