当前位置: 代码迷 >> Java Web开发 >> js函数传参有关问题
  详细解决方案

js函数传参有关问题

热度:7   发布时间:2016-04-16 22:15:26.0
js函数传参问题!
部分代码如下:
  <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转义形式&#34;
根据你的get方法名至少有一个是字符串,必须要引号,不然js不认字符串,很简单的问题,你浏览器里查看源代码就很容易发现问题
  相关解决方案