我用DWR做自动补全出现对象不支持此属性或方法!求大虾帮忙!

mikey002 2009-04-18 05:37:16
<script type="text/javascript">
var widthDiv;
function show1(obj){

widthDiv = obj.offsetWidth;//文本框的宽度,层随此宽度
var uname = obj.value;
UserAjax.findServc(uname,innerContext);(根据他说的行数,提示是这行报错了)

}
//自动补全实现


function innerContext(args){
var content = "<table width=100%>";
for(var i in args){
content+="<tr width=\"100%\" onmouseover=\"this.style.background='#CCCCCC'\" onmouseout=\"this.style.background=''\">";
content+="<td onclick='sel(this)' style='cursor:hand'>";//添加点击事件和手形样式
content+=args[i];//内容
content+="</td></tr>";
}
content += "</table>";
document.getElementById("show").style.display="block";//显示层
document.getElementById("show").style.width=widthDiv;//设定层的宽度和文本框同宽
document.getElementById("show").innerHTML=content;
}
function sel(obj){
document.getElementById("tvalue").value=obj.innerHTML;//把点击选中的内容赋值给文本框
document.getElementById("show").style.display="none";//层隐藏
}
</script>
这是我写的JS代码,在DWR页面测试是正确的,希望那个可以帮忙下!
...全文
481 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cheney_zhou 2010-05-26
  • 打赏
  • 举报
回复
CRM项目????
mikey002 2009-04-23
  • 打赏
  • 举报
回复
又可以解决的吗,呵呵!
mikey002 2009-04-21
  • 打赏
  • 举报
回复
没人知道吗,呵呵!帮忙下!
mikey002 2009-04-18
  • 打赏
  • 举报
回复
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="html" uri="http://struts.apache.org/tags-html"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jb-aptech毕业设计项目</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../css/style.css" rel="stylesheet" type="text/css">
<script src="../script/common.js"></script>
<script type='text/javascript' src='/orm/dwr/util.js'></script>

<script type='text/javascript' src='/orm/dwr/engine.js'></script>
<script type='text/javascript' src='/orm/dwr/interface/UserAjax.js'></script>





<script type="text/javascript">
var val;
function isSelected(){
var ch=document.getElementById("box");
if(ch.checked){
val=1;
}else{
val=0;
}
}
function add(){
isSelected();
document.forms[0].action="${pageContext.request.contextPath}/tobasDictSave.do?val="+val;
document.forms[0].submit();
}

</script>
<script type="text/javascript">
var widthDiv;
function show1(obj){

widthDiv = obj.offsetWidth;//文本框的宽度,层随此宽度
var uname = obj.value;
alert(uname);
UserAjax.findServc(uname,innerContext);

}
//自动补全实现


function innerContext(args){
var content = "<table width=100%>";
for(var i in args){
content+="<tr width=\"100%\" onmouseover=\"this.style.background='#CCCCCC'\" onmouseout=\"this.style.background=''\">";
content+="<td onclick='sel(this)' style='cursor:hand'>";//添加点击事件和手形样式
content+=args[i];//内容
content+="</td></tr>";
}
content += "</table>";
document.getElementById("show").style.display="block";//显示层
document.getElementById("show").style.width=widthDiv;//设定层的宽度和文本框同宽
document.getElementById("show").innerHTML=content;
}
function sel(obj){
document.getElementById("tvalue").value=obj.innerHTML;//把点击选中的内容赋值给文本框
document.getElementById("show").style.display="none";//层隐藏
}
</script>
</head>
<body onload="javaScript:document.getElementById('leibie').focus();">
<div class="page_title">
数据字典管理 新建数据字典条目
</div>
<html:form action="/tobasDictSave" method="post">
<div class="button_bar">
<button class="common_button" onclick="help('');">
帮助
</button>
<button class="common_button" onclick="back();">
返回
</button>
<button class="common_button" onclick="add();">
保存
</button>
</div>

<table class="query_form_table">
<tr>
<th>
编号
</th>
<td>
<input readonly />
</td>
<th>
类别
</th>
<td>
<html:text property="basDictForm.dictType" styleId="tvalue"
onkeyup="show1(this)"></html:text>
<span class="red_star">*</span>
<br />
(需要使用Ajax实现自动补全功能)
</td>
</tr>
<td>
<div
style="border: 1px; width: 150px; background-color: #0099CC; position: absolute; z-index: 2; display =none; overflow: scroll;"
id="show"></div>
</td>
<tr>
<th>
条目
</th>
<td>
<html:text property="basDictForm.dictItem"></html:text>
<span class="red_star">*</span>
</td>
<th>

</th>
<td>
<html:text property="basDictForm.dictValue"></html:text>
<span class="red_star">*</span>
</td>
</tr>
<tr>
<th>
是否可编辑
</th>
<td>
<%--
property会自动绑定 true 和 false true选中 false不选中
<html:checkbox property="basDictForm." value="1"></html:checkbox>
--%>
<input id="box" type="checkbox" value="1" checked="checked"
onclick="isSelected();">
</td>
<th>
 
</th>
<td>
 
</td>
</tr>
</table>
</html:form>
</body>
</html>


放上我的完整代码,alert了下,那个uname是没有值的,不知道,哪里出错了,希望大虾们给点帮助,谢谢!
lihan6415151528 2009-04-18
  • 打赏
  • 举报
回复
首先你要测试你的uname是否有值,最好alert一下

其次看看有没有执行到findServc这个方法里面去

再看看回调函数的args是否有返回值

我估计是这里var uname = obj.value; 出错的
dadi5566 2009-04-18
  • 打赏
  • 举报
回复
你把 dwr.xml文件 复制出来看看
mikey002 2009-04-18
  • 打赏
  • 举报
回复
谁来帮下忙呢,呵呵!

52,782

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧