JSP页面定义了一个变量
<%
String selectedbooks="";
%>然后在一个前台的函数中处理了这个变量
function finishBor(form){
。
。
。
form.selectedbooks.value+=checkObj[i].value+",";
form.submit();
}
页面中也定义了这个变量:
<input name="selectedbooks" type="hidden" id="selectedbooks" value="<%=selectedbooks%>" >后台取这个变量的时候:
request.getParameter("selectedbooks")始终是空的,请问这种需要把处理之后的变量传入后台应该怎么操作,前台函数已经测试没有问题。
求教各位大大,谢谢!!!
<%
String selectedbooks="";
%>然后在一个前台的函数中处理了这个变量
function finishBor(form){
。
。
。
form.selectedbooks.value+=checkObj[i].value+",";
form.submit();
}
页面中也定义了这个变量:
<input name="selectedbooks" type="hidden" id="selectedbooks" value="<%=selectedbooks%>" >后台取这个变量的时候:
request.getParameter("selectedbooks")始终是空的,请问这种需要把处理之后的变量传入后台应该怎么操作,前台函数已经测试没有问题。
求教各位大大,谢谢!!!
<%
String selectedbooks="";
%>
这句话用来干嘛的,不要了
这个没有必要加上那个<%=%>输出吧, 你文本框的值本来就是通过复选框来的喔.!
----------
把定义变量去掉 在后台还是取不到值,就是在值传递的时候出了问题,但是不知道具体出在哪
我把value="<%=selectedbooks%>" 去掉了 前面定义变量
<%
String selectedbooks="";
%>
也去掉了 但是还是不能在后台获得值 最郁闷的是前台可以alert出来
是怎么调用的?
还有是不是没有deploy啊?不会是缓存吧
后面用 /括起来<input name="selectedbooks" type="hidden" id="selectedbooks" value="<%=selectedbooks%>" />
这个值又是从上面的变量里面取得..不知道有没有问题,也就是你value="<%=selectedbooks%>" 你在上面有没有赋值? 你也可以打印下"<%=selectedbooks%>" 的值..
这个有值么?在表单提交之前还是有值的么?
<%
String selectedbooks="";
%>
里的selectedbooks换个名字吧,不要和标签里的重名
<input name="Button" type="button" class="btn_grey" value="完成借阅" onClick="finishBor(form1)">
在页面的这个地方调用,我现在已经把value="<%=selectedbooks%>" 去掉了,我本来的想法是在
finishBor(form){}函数里面把值写入到自己定义的selectedbooks这个变量当中去然后再后面的
<input name="selectedbooks" type="hidden" id="selectedbooks" value="<%=selectedbooks%>" >中写到表单中,直接在后台读取。
我现在去掉了value="<%=selectedbooks%>" 之后就是想直接在finishBor()函数中写入表单的值,即
form.selectedbooks.value 在前台可以alert这个值
但是在后台用
request.getparmeter("selectedbooks");
取出来的是空值,我不知道到底是哪个地方弄出了问题
在一个前台的函数中处理了这个变量
function finishBor(form){
。
。
。
form.selectedbooks.value+=checkObj[i].value+",";
alert(form.selectedbooks.value);
form.submit();
}
页面中定义了这个变量:
<input name="selectedbooks" type="hidden" id="selectedbooks" >
!request.getParameter("selectedbooks").equals("")){
String tempString =request.getParameter("selectedbooks");
.....}
没办法进到到这个判断中去 始终为空
private ActionForward bookborrow(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response){
//查询读者信息
//ReaderForm readerForm=(ReaderForm)form; //此处一定不能使用该语句进行转换
readerForm.setBarcode(request.getParameter("barcode"));
ReaderForm reader = (ReaderForm) readerDAO.queryM(readerForm);
request.setAttribute("readerinfo", reader);
// //查询读者的借阅信息
// request.setAttribute("borrowinfo",borrowDAO.borrowinfo(request.getParameter("barcode")));
//完成借阅
String f = request.getParameter("f");
String key = request.getParameter("inputkey");
if (key != null && !key.equals("")) {
String operator = request.getParameter("operator");
Collection coll=bookDAO.queryB(f, key);
request.setAttribute("bookinfo", coll);
if(coll==null||coll.size()<1){
request.setAttribute("error", "没有该图书!");
return mapping.findForward("error");
}
System.out.println("selectedbooks:" + request.getParameter("selectedbooks") );
if(request.getParameter("selectedbooks")!=null&&
!request.getParameter("selectedbooks").equals("")){
。}
<action name="borrowForm" path="/borrow" scope="request" type="com.action.Borrow" validate="true">
<forward name="bookBorrowSort" path="/bookBorrowSort.jsp" />
<forward name="readerBorrowSort" path="/readerBorrowSort.jsp" />
<forward name="bookborrow" path="/bookBorrow.jsp" />
<forward name="borrowQuery" path="/borrowQuery.jsp" />
<forward name="bookborrowok" path="/bookBorrow_ok.jsp" />
<forward name="bookrenew" path="/bookRenew.jsp" />
<forward name="bookrenewok" path="/bookRenew_ok.jsp" />
<forward name="bookback" path="/bookBack.jsp" />
<forward name="bookbackok" path="/bookBack_ok.jsp" />
<forward name="Bremind" path="/bremind.jsp" />
<forward name="error" path="/error.jsp" />
</action>
你不配置formAction么?
onClick="finishBor(form1)"
-------->>>>
onClick="finishBor(document.form1)"try...
或者,这个function不要form1这个参数了,直接在里面写
document.forms[0]......(0还是1还是N要由你的form在页面中的顺序决定,第一个是0)
我就是找不到这个值跟别的值有什么不同 要说有不同就是这个值的写入是在
function{}函数中写入的,不知道这样是不是无法传到后台去
中request对象里,你的值在那里?应该在你的form对象里,你需要在form定义类中添加该属性,然后在你action的form中get就可以拿到了。
form.action="url?selectedbooks="+checkObj[i].value+",";
form.submit();
在action中,用request.getParamter("selectedbooks");就可以取到了
没必要吧。request.getParameter();就没有必要取form 里的属性对象。他可以获取页面上任何的一个元素的值。
这句话是不可能实现的。你应该在这里直接操作隐藏控件<input name="selectedbooks" type="hidden" id="selectedbooks" value="<%=selectedbooks%>" >
你的那个hidden处在form中吗
JS不认,js得不到这个标签,所以不能赋值,后台JAVA代码也就不能获取
回楼上是放在form中的
<%
String selectedbooks="";
%>
-------------------这个没有什么用,多余的。然后在一个前台的函数中处理了这个变量
function finishBor(form){
。
。
。
form.selectedbooks.value+=checkObj[i].value+",";
form.submit();
}-----------------改成form[0].selectedbooks.value+=checkObj[i].value+",";
--------------------from[0].submit(); 试试
//登记页面获取checkbox值的函数
function processCheckBox() {
var dabhwd = document.getElementById("DABHWD"); //hidden
var dawds = document.getElementsByName("DAWD"); //checkbox
var result = "";
var len = dawds.length;
for (var i = 0; i < len; i++) {
if (dawds[i].checked) {
result += dawds[i].value + ",";
}
}
if (result != "" && result.length > 0) {
result = result.substring(0, result.length - 1);
}
dabhwd.value = result;
}这个是我自己写的js函数。是获取checkbox值赋给隐藏控件的。另外注意的是,隐藏控件一定要在<form></form>标签之内才行。
<%
String selectedbooks="101";
%>然后看到底是这个selectedbooks值没传过去,还是在JS中没给赋值成功;