js遇到了一个很奇怪的问题。
在jsp页面中的button     关联了borrowbook()   但怎么点都不行,可是吧button和borrowbook()放到html  网页中又可以,这是为什么啊<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
    <%@ taglib prefix="bean"  uri="http://struts.apache.org/tags-bean" %>
<%@ taglib prefix="logic"  uri="http://struts.apache.org/tags-logic" %>   
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
<!--****************************************  js  在此  * ****************************************-->
<script type="text/javascript">

function borrowbook() {
var count = 0;
var j = 0;
for (var i = 0; i < document.getElementsByName("selectFlag").length; i++) {
if (document.getElementsByName("selectFlag")[i].checked) {
j = i;
count++;
}
}
if (count == 0) {
alert("请选择需要修改的用户!");
return;
}
if (count > 1) {
alert("一次只能修改一个用户!");
return;
}
if (count == 1) {
window.self.location = "book_borrow.do?bookID=" + document.getElementsByName("selectFlag")[j].value;
}
}
</script>
</head>
<body><form method="post" action="book_search.do">
馆藏数目检索:
<br/>
图书名称:
<input type="text" name="name" id="name" size="20"/> 
<br/>
作者:&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="author" id="author" size="20"/>
<br/>
ISBN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="ISBN" id="ISBN" size="20"/>
<br/>
<input type="submit" value=查询 /><br/><br/><br/>
     <table width="95%" border="0" cellspacing="0" cellpadding="0"
align="center" class="table1">
<tr>
<td width="200" class="rd6">
  复选框
<!--  <input type="checkbox" name="ifAll" onClick="checkAll()"> -->
</td>
<td width="200" class="rd6">
图书编号
</td>
<td width="200" class="rd6">
ISBN
</td>
<td width="200" class="rd6">
书名
</td>
<td width="200" class="rd6">
作者
</td>

</tr>
<logic:empty name="booklist">
<tr>
<td class="rd8" colspan="5">
<font color="red">没有符合条件的数据</font>
</td>
</tr>
</logic:empty>
<logic:notEmpty name="booklist">
<logic:iterate id="book" name="booklist">
<tr>
   
<td class="rd8">
<input type="checkbox" name="selectFlag" class="checkbox1"
value="<bean:write name="book" property="bookID"/>">
</td>

<td class="rd8">
<bean:write name="book" property="bookID" />
</td>
<td class="rd8">
<bean:write name="book" property="ISBN" />
</td>
<td class="rd8">
<bean:write name="book" property="name" />
</td>
<td class="rd8">
<bean:write name="book" property="author" />
</td>

</tr>
</logic:iterate>
<td>
                                    <!-- **************************************button在此*********-->
<input type="button" value="借阅" name="borrowbook" 
id="borrowbook" 
onclick="borrowbook()"
/>
</td>
</logic:notEmpty>
</table>
</form></body>
</html>

解决方案 »

  1.   

      <!-- **************************************button在此*********-->
    <input type="button" value="借阅" name="borrowbook" 
    id="borrowbook" 
    onclick="borrowbook()"
    />放到位置不对,在你的放的那个位置被完美忽略了
      

  2.   


    应该是你在jsp里用的那些标签里, 有些不执行js吧
      

  3.   

    将运行可以的那个html页面中head标签里面的内容替换掉jsp页面head标签里面的内容试试看
      

  4.   


    那个html里面的head中除了script就没东西了
      

  5.   

    onclick把C大写,换成onClick试试
      

  6.   

    神仙问题 ,用 firebug 调试下 不什么都知道了!
      

  7.   

    js只运行在浏览器是客户端语言,jsp是服务器端语言最终生成html发到客户端
      

  8.   

    <input type="button" value="借阅" name="borrowbook"
    id="borrowbook"
    onclick="javaScript:borrowbook()"
    />
      

  9.   

    将运行可以的那个html页面中head标签里面的内容替换掉jsp页面head标签里面的内容试试看
      

  10.   

    1、下面这段HTML代码的TR呢?
    <td>
      <!-- **************************************button在此*********-->
    <input type="button" value="借阅" name="borrowbook"  
    id="borrowbook"  
    onclick="borrowbook()"
    />
    </td>
    </logic:notEmpty>
    2、不可能运行不成功,JSP最终是要转换成HTML下载到客户端的。
    用网页-查看源代码,仔细找找,一定会找出来。
      

  11.   


    <html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>Insert title here</title> <script type="text/javascript"> function borrowbook() { var count = 0; var j = 0; for (var i = 0; i < document.getElementsByName("selectFlag").length; i++) { if (document.getElementsByName("selectFlag")[i].checked) { j = i; count++; } } if (count == 0) { alert("请选择需要修改的用户!"); return; } if (count > 1) { alert("一次只能修改一个用户!"); return; } if (count == 1) { window.self.location = "book_borrow.do?bookID=" + document.getElementsByName("selectFlag")[j].value; } } </script></head><body><form method="post" action="book_search.do">馆藏数目检索:<br/>图书名称:<input type="text" name="name" id="name" size="20"/> <br/>作者:&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="author" id="author" size="20"/><br/>ISBN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="ISBN" id="ISBN" size="20"/><br/><input type="submit" value=查询 /><br/><br/><br/>     <table width="95%" border="0" cellspacing="0" cellpadding="0" align="center" class="table1"> <tr> <td width="200" class="rd6">   复选框 </td> <td width="200" class="rd6"> 图书编号 </td> <td width="200" class="rd6"> ISBN </td> <td width="200" class="rd6"> 书名 </td> <td width="200" class="rd6"> 作者 </td> </tr> <tr>     <td class="rd8"> <input type="checkbox" name="selectFlag" class="checkbox1" value="1"> </td> <td class="rd8"> 1 </td> <td class="rd8"> a </td> <td class="rd8"> java programming </td> <td class="rd8"> feng </td> </tr> <tr>     <td class="rd8"> <input type="checkbox" name="selectFlag" class="checkbox1" value="2"> </td> <td class="rd8"> 2 </td> <td class="rd8"> b </td> <td class="rd8"> ooad </td> <td class="rd8"> zhang </td> </tr> <tr>     <td class="rd8"> <input type="checkbox" name="selectFlag" class="checkbox1" value="3"> </td> <td class="rd8"> 3 </td> <td class="rd8"> c </td> <td class="rd8"> uml </td> <td class="rd8"> aa </td> </tr> <tr> <td> <input type="button" value="借阅" name="borrowbook"  id="borrowbook"  onClick="borrowbook()" /> </td> </tr> </table></form></body></html>这是执行后的html
      

  12.   

    先测试 函数是否能触发  最好 重新 新建一个jsp页面 放到tomca下执行看看
      

  13.   

    JS错误,不要用同样的名字
    <input type="button" value="借阅" name="borrowbook" id="borrowbook" onClick="borrowbook()"/>
      

  14.   


    把JS 代码放到下面 </body>之上永远不会出错,
    放到上面有时会出错如果还不行楼主就用不同的浏览器再测下
      

  15.   


    <input type="button" value="借阅" name="borrowbook"  onclick="borrowbook()" />名字可以代表一个input对象  
    function borrowbook(){...}函数也可以代表一个函数对象都是对象 冲突了 你把方法的名字换一个 就可以了