黑马程序员技术交流社区

标题: 怎么用javascript获取属性Id的值 [打印本页]

作者: CrazyProgram    时间: 2013-4-12 21:59
标题: 怎么用javascript获取属性Id的值
本帖最后由 CrazyProgram 于 2013-4-13 18:19 编辑
  1. function fy(){
  2.                         var inputIdElement = document.getElementById("inputId");
  3.                         var currentPageNum = inputIdElement.Value;
  4.                         var url = "/crm/CrmServlet?method=findAllCustomer&currentPageNum="+currentPageNum;
  5.                         window.location.href=url;
  6.                 }
复制代码
上面的currentPageNum一直都取不到,,哪里错了?
作者: 郑丹丹1990    时间: 2013-4-12 22:03
1.document.getElementById("inputId");控件Id的正确性
2.此控件本身就一定有value值吗?
作者: CrazyProgram    时间: 2013-4-12 22:13
郑丹丹1990 发表于 2013-4-12 22:03
1.document.getElementById("inputId");控件Id的正确性
2.此控件本身就一定有value值吗? ...
  1. <input type="text" name="currentPageNum" id="inputId"/>
  2.    <input type="button" value="Go" onclick="fy()"/>
复制代码
这样没错吧,,我是这样写的,值还是取不到
作者: 熊薇    时间: 2013-4-12 22:21
检查下fy()方法有没有被调用;
var inputIdElement = document.getElementById("inputId");
检查下控件的id有没有写错或者写重,如果写重了getElementById()取到的是第一个此id的节点;
再来就是控件本身要有value值

作者: CrazyProgram    时间: 2013-4-12 22:32
熊薇 发表于 2013-4-12 22:21
检查下fy()方法有没有被调用;
var inputIdElement = document.getElementById("inputId");
检查下控件的id ...
  1. <%@ page language="java" pageEncoding="utf-8"%>
  2. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  3. <%@ page isELIgnored="false" %>
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  5. <html>
  6.   <body>
  7.           <script type="text/javascript">
  8.                 function fy(){
  9.                         var inputIdElement = document.getElementById("inputId");
  10.                         var currentPageNum = inputIdElement.Value;
  11.                         var url = "/crm/CrmServlet?method=findAllCustomer&currentPageNum="+currentPageNum;
  12.                         window.location.href=url;
  13.                 }
  14.         </script>
  15.               <table border="1" align="center">
  16.                    <caption><h1>客户信息</h1></caption>
  17.                    <tr>
  18.                            <th>状态</th>
  19.                            <th>姓名</th>
  20.                            <th>性别</th>
  21.                            <th>地址</th>
  22.                            <th>电话</th>
  23.                            <th>邮箱</th>
  24.                            <th>生日</th>
  25.                    </tr>
  26.                    <c:forEach var="customer" items="${page.crmList}">
  27.                            <tr>
  28.                                    <th><input type="checkbox" value="${customer.id }"/></th>
  29.                                    <th>${customer.name }</th>
  30.                                    <th>${customer.gender }</th>
  31.                                    <th>${customer.address }</th>
  32.                                    <th>${customer.tel }</th>
  33.                                    <th>${customer.email }</th>
  34.                                    <th>${customer.birthday }</th>
  35.                            </tr>
  36.                    </c:forEach>
  37.                    <tr>
  38.                            <td colspan="7" align="center">
  39.                                    <input type="text" name="currentPageNum" id="inputId"/>
  40.                                    <input type="button" value="Go" onclick="fy()"/>
  41.                            </td>
  42.                    </tr>
  43.            </table>
  44.   </body>
  45. </html>
复制代码
value是从文本框输入的,,当我输入跳转的时候显示,undefined。。
帮帮忙,,
作者: 陈志盟    时间: 2013-4-12 22:49
把var inputIdElement = document.getElementById("inputId");
   var currentPageNum = inputIdElement.Value;
换成
var inputIdElement = document.getElementById("inputId").value;
直接取value就可以了。。
作者: CrazyProgram    时间: 2013-4-12 23:34
陈志盟 发表于 2013-4-12 22:49
把var inputIdElement = document.getElementById("inputId");
   var currentPageNum = inputIdElement.Va ...

都一样,,不知道分开和直接有什么区别,完全都是一样的好么·?
反正我也试过了,还是没用啊·~
作者: 曾玉锋    时间: 2013-4-12 23:56
  1. function fy() {
  2.                  //这里的问题
  3.                   var currentPageNum = document.getElementById("inputId").value;
  4.                   //alert(currentPageNum);能获得结果
  5.                   var url = "/crm/CrmServlet?method=findAllCustomer&currentPageNum=" + currentPageNum;
  6.                   window.location.href = url;
  7.               }
复制代码

作者: CrazyProgram    时间: 2013-4-13 00:01
曾玉锋 发表于 2013-4-12 23:56

噢,谢谢了,原来是eclipse插件的问题,我按alt+/ 提示出来的value是Value,难怪一直得不出答案。。
  谢了~~
作者: 陈志盟    时间: 2013-4-13 00:11
CrazyProgram 发表于 2013-4-12 23:34
都一样,,不知道分开和直接有什么区别,完全都是一样的好么·?
反正我也试过了,还是没用啊·~ ...

你想想,分开写你获取的是inputIdElement的value的值,inputIdElement 有value属性嘛?!document.getElementById("inputId").value;这是获取id为inputId这个控件的value值,
作者: CrazyProgram    时间: 2013-4-13 08:39
陈志盟 发表于 2013-4-13 00:11
你想想,分开写你获取的是inputIdElement的value的值,inputIdElement 有value属性嘛?!document.getEle ...

还是谢谢你,,我试过了分开的还是可以的,inputIdElement其实就是document.getElementById("inputId"),value肯定是有值的~~
作者: 宋兴征    时间: 2013-4-13 11:55
陈志盟 发表于 2013-4-13 00:11
你想想,分开写你获取的是inputIdElement的value的值,inputIdElement 有value属性嘛?!document.getEle ...

分开写应该也是可以的,我也不觉得有什么不一样。
声明一个对象,然后给对象的属性赋值,或者直接声明赋值,都是一样的啊
作者: 宋兴征    时间: 2013-4-13 11:56
可以改为”已解决”了,呵呵




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2