我在jsp页面中有一个表单,当单击ok按钮并打印它们时,我必须捕获POST变量。
我认为我的解决方案是Ajax,但我无法得到它。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html"; charset="ISO-8859-1">
<title>Ejemplo de carga de datos</title>
<script src="/Scripts/jquery-1.9.1.js"></script>
<script>
$(function(){
$(document).ready(function () {
$('input[type="submit"]').click(function (event) {
var url = "datos.jsp"; // El script a dónde se realizará la petición.
$.ajax({
type: "POST",
url: url,
data: $("#form").serialize(), // Adjuntar los campos del formulario enviado.
success: function(data)
{
}
});
});
});
});
</script>
</head>
<body>
<form name="form" id="form" method="post" enctype="multipart/form-data" >
<textarea cols=50 rows=10 name="texto" id="texto"></textarea>
<input type="submit" name="submit" value="Enviar datos" />
</form>
</body>
</html>和datos.jsp:
<%
String texto = request.getParameter(texto);
System.out.println(texto)
%>但是它不起作用,我怎么做呢?
我加了@Aleksey Bykov的建议。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html"; charset="ISO-8859-1">
<title>Ejemplo de carga de datos</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script>
$(function(){
$(document).ready(function () {
$('input[type="submit"]').click(function (event) {
var textoVar = $('#texto').val();
alert(textoVar);
$.ajax({
url: 'page.jsp',
type: 'POST',
dataType: 'json',
data: {
texto: textoVar
},
success: function (data) {
//
},
failure: function (data) {
//
}
});
});
});
});
</script>
</head>
<body>
<span>Sent via AJAX: <b><c:out value="${param.texto}" /></b></span>
<form name="form" id="form" method="post" enctype="multipart/form-data" >
<textarea cols=50 rows=10 name="texto" id="texto"></textarea>
<input type="submit" name="submit" value="Enviar datos" />
</form>
</body>
它总是打印${param.texto} (这一行不是值),即使没有发送表单。
发布于 2016-02-10 18:32:48
您可以使用JSTL获得texto参数的值:
<c:out value="${param.texto}" />完整示例-单击submit按钮后,您将在textarea顶部看到您输入的文本。
<script>
$("#submit").click(function() {
var textoVar = $('#texto').val();
$.ajax({
url: 'YourJspHere',
type: 'POST',
dataType: 'json',
data: {
texto: textoVar
},
success: function (data) {
//
},
failure: function (data) {
//
}
});
});
</script>
<span>Sent via AJAX: <b><c:out value="${param.texto}" /></b></span>
<form name="form" id="form" method="post">
<textarea cols=50 rows=10 name="texto" id="texto"></textarea>
<input type="submit" name="submit" value="Enviar datos" />
</form>在发送之前:

发送后:

发布于 2016-02-10 18:26:23
你必须使用Javascript吗?这可以通过向表单中添加一个操作来实现,以跳过所有ajax内容。
<form name="form" id="form" method="post" action="datos.jsp" >
<textarea cols=50 rows=10 name="texto" id="texto"></textarea>
<input type="submit" name="submit" value="Enviar datos" />
</form>https://stackoverflow.com/questions/35322418
复制相似问题