通过javascript函数传递到servlet的参数
Parameter passing through javascript function to a servlet
我们可以通过javascript函数将参数传递给servlet吗?
这是我的代码,我试图在点击"获取作者名称"按钮时将addUpdate.jsp的javascript函数中的值传递给BookServlet。当我点击该按钮时,它成功地转到了servlet,但它没有接受我通过函数传递的参数。。
addUpdate.jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="com.fulcrum.obl.model.Author"%>
<%@page import="java.util.ArrayList"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@page isELIgnored="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">
function submitAddForm(button) {
alert("hiee");
if(button.value=="Get Authors names") {
alert("in iff");
//alert(document.getElementById("bookDetails"));
document.getElementById("bookDetails").action="BookServlet?authorNames=authorNames";
}
}
function setAuthorsNames() {
var x =document.getElementById("select");
var myList = document.getElementById("selected");
var myOption = document.createElement("Option");
for(var i=0;i < x.options.length;i++) {
if(x.options[i].selected ==true){
alert("in if");
myOption.text = x.options[i].value;
myOption.value = x.options[i].value;
myList.add(myOption);
x.remove(x.options.selectedIndex);
}
}
}
</script>
</head>
<body>
<h4>Book Form</h4>
<form id="bookDetails">
Long Title : <input type="text" name="longT">
<br>
<br>
Short Title : <input type="text" name="shortT" />
<br>
<br>
Isbn : <input type="text" name="shortT" />
<br>
<br>
Date of Publication : <input type="text" name="dop" />
<br>
<br>
No of pages : <input type="text" name="nop" />
<br>
<br>
bound type :
<select id="boundType">
<option value="0">HardBound</option>
<option value="1">SoftBound</option>
</select>
<br>
<br>
DVD Availability :
<select id="dvd">
<option value="y">Yes</option>
<option value="n">No</option>
</select>
<br>
<br>
No of copies available : <input type="text" name="noca" />
<br>
<br>
<%
if(request.getAttribute("authorNamesList") != null) {
ArrayList<Author> booksList = (ArrayList<Author>)request.getAttribute("authorNamesList");
%>
<select id="select" size="6">
<c:forEach items="${authorNamesList}" var="authorNames">
<option value="${authorNames.firstName}">${authorNames.firstName}</option>
</c:forEach>
</select>
<%
}
%>
<select size="6" id="selected">
</select>
<input type="submit" value="Get Authors names" name="Go" onClick="submitAddForm(this)">
<input type="button" value="Add" name="Add" onClick="setAuthorsNames()">
<br>
<br>
<input type="submit" value="Save Book" name="submitBook" onClick="submitAddForm()">
</form>
</body>
</html>
这是正在传递的参数。。
http://localhost:8082/OBL/BookServlet?longT=&shortT=&shortT=&dop=&nop=&noca=&Go=Get+Authors+names
您可以在提交表单之前使用隐藏输入元素并设置隐藏输入元素的值。
假设您的隐藏元素id为"hidden_input",然后在您的submitAddForm函数中添加以下行
document.getElementById("hidden_input").value = "desired_value";
现在,当表单提交时。。。隐藏的输入值将被设置并传递给服务器
您可以更改代码,并使用以下命令将参数从javascript传递给servlet:-
function submitAddForm(button) {
var longT = document.getElementById("bookDetails").value;
var shortT = document.getElementById("shortT").value;
...........
...........
then pass the variables and do
document.forms[0].action = "BookServlet?longT="+longT+"shortT="+shortT....and all the other variables to pass;
document.forms[0].submit();
}
在您的JSP中,您可以将"id"属性设置为:
长标题:<input type="text" name="longT" id="longT">
相关文章:
- Servlet未将参数发送到.jsp文件
- 我可以't让servlet使用ajax和xml将参数发送到jsp文件
- 提交输入类型=“;图像“;到另一个servlet时,未能返回任何参数
- 使用请求参数从 JavaScript 调用 servlet
- 如何在 javascript 函数中创建 Web 链接并将单元格值作为参数传递给 servlet
- Js+ 如何将带有 blob 的数据参数发送到 servlet
- 无法在 servlet 中获取参数
- 通过javascript函数传递到servlet的参数
- 从jsp加载servlet并尝试传递多个参数
- Windows应用程序Java Servlet参数传递
- 如何将参数从servlet传递到JavaScript
- 如何将参数从ajax发送到servlet
- servlet过滤器中的静态资源版本控制(添加一个额外的GET参数)
- 使用POST将参数从脚本发送到servlet
- 使用ajax如何将参数从一个JSP页面发送到另一个servlet
- 如何使用Ajax调用向servlet发送参数
- servlet:在servlet中通过ajax获取空参数
- 将参数从动态添加的输入字段传递给servlet
- 如何用JavaScript将URL中的非ascii字符参数传递给JSP/Servlet
- 如何使用javascript将参数从JSP传递给Servlet