在jsp中有一个 text,在页面text中写入数字 通过ajax会将写入的数字计算后返回给页面.当然写入text中的值是变化的.
请问,通过js的什么方法可以将text中变化的值传给ajax?
例如:text中写入 10 ----ajax给后台计算后返回页面12
如果在10后又加了5,text中是15--------ajax给后台计算后返回页面17(下班前结帖)
请问,通过js的什么方法可以将text中变化的值传给ajax?
例如:text中写入 10 ----ajax给后台计算后返回页面12
如果在10后又加了5,text中是15--------ajax给后台计算后返回页面17(下班前结帖)
解决方案 »
- 请问指定触发类名称和触发类方法名称,怎么写一个方法去触发它
- 调用axis发布的服务时报错:Name java:comp is not bound in this Context
- javaweb初学者可以看看我们写的这个示例项目
- spring hibernate整合中出的一个问题
- Class.forName 加载时出现找不到类
- 弄了两天没弄出来,急等高人帮忙。在线等。struts checkbox问题
- cxf跟spring集合的一个错误
- 新手写javabean用什么比较好?
- 关于从表单读取的问题!!!!!!!!!!!!!!!!
- jsp中怎么用bean管理session?
- 这段语句为什会报错?
- 看过Hibernate in Action英文版的人进来聊聊!
<td class="td2">卡类型名称:</td>
<td class="td3"><html:text property="cardTypeName" onblur="return doCheck();" styleClass="txt1"/></td><script Language="JavaScript">
var req;
function doCheck(){
var cardTypeName = document.getElementById('cardTypeName').value;
var url = '../basedata/cardtype.do?method=doContainName&&cardTypeName=' + cardTypeName;
if(window.XMLHttpRequest)
{
req=new XMLHttpRequest();
}else if(window.ActiveXObject)
{
req=new ActiveXObject("Microsoft.XMLHTTP");
}
if(req)
{
req.open("GET",url,true);
req.onreadystatechange=callback;
req.send(null);
}
}
function callback()
{
if(req.readyState == 4)
{
if(req.status == 200)
{
showResponse();
}else{
alert("Not able to retrieve description"+req.statusText);
}
}
}
function showResponse(){
var txt=req.responseText;
if(txt=="1"){
alert("卡类型名称已存在,请选择其他名称!");
cardTypeName=document.getElementById('cardTypeName');
cardTypeName.value="";
}else{
}
} </script>
Java代码:
/**
* 判断卡类型对象名称是否存在
*/
public ActionForward doContainName(
ActionMapping mapping,
ActionForm form,
HttpServletRequest req,
HttpServletResponse res){
String cardTypeName=req.getParameter("cardTypeName");
List ctList=cardTypeService.getAll();
List ctNameList=new ArrayList();
Iterator it=ctList.iterator();
while(it.hasNext()){
CardType ct=(CardType)it.next();
String name=ct.getCardTypeName();
ctNameList.add(name);
}
String s="";
if(ctNameList.contains(cardTypeName)){
s="1";
}else{
s="2";
}
res.setContentType("text/xml;charset=GB2312");
res.setHeader("Cache-Control","no-cache");
try {
res.getWriter().write(s);
} catch (Exception e) {
}
return null;
}
在onblurs事件里做请求
onKeyUp,onKeyDown,onKeyPress.总之这三个里面,楼住可以自己去搜一下,根据需要应用~
onchange事件并不是敲一下键盘就触发一次,而是当焦点离开text时如果值有变化才触发的:)
function change(){
alert("change");
}
function blura(){
alert("blur");
}
</script>
<input type="text" onchange="change();">
<input type="text" onblur="blura();">
onchange事件并不是敲一下键盘就触发一次,而是当焦点离开text时如果值有变化才触发的:)
====================================================================================
看来是我的认识错误了,呵呵。我把onchange当作onkeyup了。不好意思。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
变不变可以自己判断的。
onchange是失去焦点以后才会触发,所以根本没什么用
无论是onchange 还是onblur 都必须是在失去焦点的时候才会触发事件.
有没有不在失去焦点的时候就可以触发事件. 例如text中 先输入1 光标没有移开 接着又输入2... 这样事件触发的方法.