部分代码如下:
<script language="javascript">
function cx(s)
{
if(confirm("确认撤销吗?")){
// dal.deleteBookInfo(log,s);
alert("撤销成功!");
alert(s);
}
}
</script>
<%
ArrayList List =bookInfoList1.getBookInfoList();
bookInfo[] b = (bookInfo[])List.toArray(new bookInfo[List.size()]);
for(int i=0;i<b.length;i++){
out.print("<TR>");
out.print("<TD >"+b[i].getSQSJ()+"</TD>");
out.print("<TD >"+b[i].getSQDW() +"</TD>");
%>
<TD ><input type="button" name="Submit" value="修改" onClick="window.location.href='bx1.jsp?SQSJ=<%=b[i].getSQSJ()%>'">
<TD ><input type="button" name="Submit2" value="撤销" onClick="cx(<%=b[i].getSQSJ()%>)">
之前发了一个帖子,修改按钮的onclick功能成功实现了。但是做撤销的功能时候又出现问题。
<%=b[i].getSQSJ()%>这种形式的参数没法传到js函数里,点撤销按钮没有反应。
试过cx(123),这样就可以传过去。
onClick="alert(<%=b[i].getSQSJ()%>)"> 这样也没法显示。做修改按钮的时候我也这样测试过,虽然能传到目标页面,但是用alert就显示不出来,不知道什么原因,希望大神帮助。
其实我想传3个参数,onClick="cx(<%=b[i].getSQSJ()%>,<%=b[i].getSQDW()%>,<%=dal%>)" ,不行,后来试了试一个参数都不行,头就大了。。
求助!!
------解决方案--------------------
onClick="cx(<%=b[i].getSQSJ()%>)"
加个单引号上去
onClick="cx('<%=b[i].getSQSJ()%>')"
------解决方案--------------------
应该是你没有加引号的原因,java字符串放到js里要用引号括起来的
onClick="cx('<%=b[i].getSQSJ()%>','<%=b[i].getSQDW()%>','<%=dal%>')" 当然也可以用"的html转义形式"
根据你的get方法名至少有一个是字符串,必须要引号,不然js不认字符串,很简单的问题,你浏览器里查看源代码就很容易发现问题