黑马程序员技术交流社区

标题: 参数值什么也没有?也没提示null。。。why? [打印本页]

作者: 胡大强    时间: 2012-6-14 16:12
标题: 参数值什么也没有?也没提示null。。。why?
本帖最后由 胡大强 于 2012-6-14 16:23 编辑

<td align="center" > <%=i%></td>
     <td align="center" > <%=channellanmu.getID()%><input type="hidden" id="id"></td>
     <td align="center" > <input type="text" id="channel"></td>
     <td align="center" ><input type="text" id="lanmu"></td>
     <td align="center"><input type="button" value="完成"onclick="editChannelLanmu()"></td>

下面的是javascript,用Ajax实现EditChannelLanmu();
但是:     var channel=document.getElementById("channel").value;
        var lanmu=document.getElementById("lanmu").value;
        var id=document.getElementById("id").value;。//取出的什么也没有,也没提示null,就是啥都没有。
作者: 符云爵    时间: 2012-6-14 16:21
提示object HTMLInputElement是正确的,找到对象了。提示undefind才是空对象。
document.getElementById("id");取的是id为"id"的那个标签对象,不是它里面的值或者其它东西,input标签的话在后边可以加".value"取得该对象里面value属性的值。
作者: 胡大强    时间: 2012-6-14 16:25
符云爵 发表于 2012-6-14 16:21
提示object HTMLInputElement是正确的,找到对象了。提示undefind才是空对象。
document.getElementById("i ...

额,,,刚加了。。但是新问题出现了就是。。现在id是空白的。。也没提示undefine,,也不是null。。。
作者: 符云爵    时间: 2012-6-14 16:29
你这题目变得也太快了吧。。   看你代码,所有<input />标签里都没有value属性,都没给它们赋值哪来的东西给你取?没加value属性给它值的话,它应该默认为空字符串的,所以不是取出的什么也没有,也没提示null,而是空字符串。
作者: 胡大强    时间: 2012-6-14 19:10
符云爵 发表于 2012-6-14 16:29
你这题目变得也太快了吧。。   看你代码,所有标签里都没有value属性,都没给它们赋值哪来的东西给你取?没 ...

那为什么这个channel和lanmu的<input>属性不用加value了。却可以取出值啊。以前没遇到这突情况啊、、、、、
作者: 符云爵    时间: 2012-6-14 21:00
胡大强 发表于 2012-6-14 19:10
那为什么这个channel和lanmu的属性不用加value了。却可以取出值啊。以前没遇到这突情况啊、、、、、 ...

下班刚有空上网呢。
没看明白你所说的情况是什么样的,贴代码出来看看吧。
作者: 胡大强    时间: 2012-6-14 21:23
符云爵 发表于 2012-6-14 21:00
下班刚有空上网呢。
没看明白你所说的情况是什么样的,贴代码出来看看吧。 ...

<td align="center" > <%=i%></td>
     <td align="center" > <%=channellanmu.getID()%><input type="hidden" id="id" value="<%=id %>"></td>
     <td align="center" > <input type="text" id="channel"></td>
     <td align="center" ><input type="text" id="lanmu"></td>
     <td align="center"><input type="button" value="完成"onclick="editChannelLanmu()"></td>  

按照你说的方法加了如图的代码。。。问题已经解决了。。。。
因为我这表格td里的数据值都是动态获取的。。。
下卖弄是实现的代码:呵呵。。。多谢多谢~!
function editChannelLanmu(){
var channel=document.getElementById("channel").value;
var lanmu=document.getElementById("lanmu").value;
var id=document.getElementById("id").value;
// alert(id );
createXMLHttpRequest();
  xmlHttp.onreadystatechange=receiveUpdate; //将状态触发器绑定一个函数
  var url="UpdateChannelLanmu?channel="+channel+"&lanmu="+lanmu+"&id="+id;//发送请求;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}
function receiveUpdate(){
if(xmlHttp.readyState==4){
  if(xmlHttp.status==200){
   var flag=xmlHttp.responseText;
   //alert(flag);
   if(flag==1){
    alert("修改成功!");
    window.parent.location="./showChannelLanmu.jsp";
   
   }else{
    alert("修改失败!");
   }
  }
}
}

</script>
</head>
<body>
<div align="center"><h2><b>频道栏目列表</b></h2></div>
<table id="table" width="550" border="1" align="center" class="style6">
<thead>
<tr>
    <td  colspan="5" align="right"class="style5"><a href=AddChannel.jsp>点击添加</a></td>
  </tr>
  <tr>
   <th width="3%">序号</th>
   <th width="6%">ID</th>
    <th width="13%">频道</th>
    <th width="13%">栏目</th>
    <th width="6%">操作</th>
  </tr>
  </thead>
<tbody>
<%
    String server="localhost";  //服务器名
String dbname="news";  //数据库名
String user="root";
String pass="3344520";
         //封装    对象
         List<ChannelLanmu>  channelList=new ArrayList<ChannelLanmu>();
   ChannelDao channellanmudao=new ChannelDao();
   try{
    channellanmudao.getConn(server, dbname, user, pass);  //连接数据库
    channelList=channellanmudao.getAllChannel();
   }catch(ClassNotFoundException e){
    e.printStackTrace();
      }catch(Exception e){
       e.printStackTrace();
      }
  
for(int i=0;i<channelList.size();i++){
  ChannelLanmu channellanmu=channelList.get(i);
  int id=Integer.parseInt(channellanmu.getID());
// System.out.println(id);  //这里可以输出id~!
   int id2=Integer.parseInt(request.getParameter("id"));
  //System.out.print(id2);
  
%>     
<tr>
<% if(id2==id){%>
     <td align="center" > <%=i%></td>
     <td align="center" > <%=channellanmu.getID()%><input type="hidden" id="id" value="<%=id %>"></td>
     <td align="center" > <input type="text" id="channel"></td>
     <td align="center" ><input type="text" id="lanmu"></td>
     <td align="center"><input type="button" value="完成"onclick="editChannelLanmu()"></td>  
    <%} else{%>
    <td align="center" > <%=i%></td>
     <td align="center" > <%=channellanmu.getID()%></td>
     <td align="center" > <%=channellanmu.getChannel()%></td>
     <td align="center" ><%=channellanmu.getLanmu()%></td>
     <td align="center"><a href="UpdateChannelLanmu.jsp?id=<%=id %>">修改</a>
     <%} %>      
</tr>

<%
}
%>
<tr><td align="center" width="2%"><a href="showChannelLanmu.jsp">返回</a>  </td> </tr>
  </tbody>
</table>





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