Display Tag 扩展——输入框跳转分页

Display Tag真是弄得我焦头烂额。。。

将displaytag.properties配置文件中的以下三项替换:

paging.banner.full:
<span class="pagelinks">[<a href="{1}">首页</a>/<a href="{2}">上页</a>] {0} [<a href="{3}">下页</a>/<a href="{4}">末页</a>]跳转到第<input name="tz" id="tz" size="1" type="text" style="width: 23px" />页<input type="button" onclick="OtherPage_Go();" value="GO"/><input id="hd" name="hd" type="hidden" value="{1}"/></span>

paging.banner.first:
<span class="pagelinks">[首页/上页] {0} [<a href="{3}">下页</a>/<a href="{4}">末页</a>]跳转到第<input name="tz" id="tz" size="1" type="text" style="width: 23px" />页<input type="button" onclick="firstPage_Go();" value="GO"/><input id="hd" name="hd" type="hidden" value="{1}"/></span>

paging.banner.last:
<span class="pagelinks">[<a href="{1}">首页</a>/<a href="{2}">上页</a>] {0} [下页/末页]跳转到第<input name="tz" id="tz" size="1" type="text" style="width: 23px" />页<input type="button" onclick="OtherPage_Go();" value="GO"/><input id="hd" name="hd" type="hidden" value="{1}"/></span>


国际化转码后:

paging.banner.full=<span class\="pagelinks">[<a href\="{1}">\u9996\u9875</a>/<a href\="{2}">\u4E0A\u9875</a>] {0} [<a href\="{3}">\u4E0B\u9875</a>/<a href\="{4}">\u672B\u9875</a>]\u8DF3\u8F6C\u5230\u7B2C<input name\="tz" id\="tz" size\="1" type\="text" style\="width\: 23px" />\u9875<input type\="button" onclick\="OtherPage_Go();" value\="GO"/><input id\="hd" name\="hd" type\="hidden" value\="{1}"/></span>
paging.banner.first=<span class\="pagelinks">[\u9996\u9875/\u4E0A\u9875] {0} [<a href\="{3}">\u4E0B\u9875</a>/<a href\="{4}">\u672B\u9875</a>]\u8DF3\u8F6C\u5230\u7B2C<input name\="tz" id\="tz" size\="1" type\="text" style\="width\: 23px" />\u9875<input type\="button" onclick\="firstPage_Go();" value\="GO"/><input id\="hd" name\="hd" type\="hidden" value\="{1}"/></span>
paging.banner.last=<span class\="pagelinks">[<a href\="{1}">\u9996\u9875</a>/<a href\="{2}">\u4E0A\u9875</a>] {0} [\u4E0B\u9875/\u672B\u9875]\u8DF3\u8F6C\u5230\u7B2C<input name\="tz" id\="tz" size\="1" type\="text" style\="width\: 23px" />\u9875<input type\="button" onclick\="OtherPage_Go();" value\="GO"/><input id\="hd" name\="hd" type\="hidden" value\="{1}"/></span>



页面上的JS代码:

<script type="text/javascript">
function fucCheck(INDEX)
{
var i,j,strTemp;
strTemp="0123456789";
for (i=0;i<INDEX.length;i++)
{
j=strTemp.indexOf(INDEX.charAt(i));
if (j==-1)
{
//说明有字符不合法
return false;
}
}
//说明合法
return true;
}


function firstPage_Go(){
var page = document.getElementById("tz").value;
var total = ${pages}; // 当前数据的总页数,从Action中传值过来
if(!fucCheck(page)){
alert("输入数字非法,请重新输入!");
return false;
}
if(page > total){
alert("超出了最大页数,请重新输入!");
}else if(page < 1){
alert("页数不能小于1!");
}else{
window.location=document.getElementById("hd").value.replace("p=","p="+document.getElementById("tz").value);
}
}

function OtherPage_Go(){
var page = document.getElementById("tz").value;
var total = ${pages};// 当前数据的总页数,从Action中传值过来
if(!fucCheck(page)){
alert("输入数字非法,请重新输入!");
return false;
}
if(page > total){
alert("超出了最大页数,请重新输入!");
}else if(page < 1){
alert("页数不能小于1!");
}else{
window.location=document.getElementById("hd").value.replace("p=1","p="+document.getElementById("tz").value);
}
}

function preparaSubmit(evt){
var nKeyCode = window.event?event.keyCode:evt.which;
if(nKeyCode==13){
go2();
}
}


</script>


问题:
1.如果在<input name="tz" id="tz" size="1" type="text" style="width: 23px" />里加入键盘回车响应事件,同时对输入的数字进行JS校验,如果校验不通过,且用户继续用回车键确定弹出框,因为我用“window.location”跳转新页面,则一直响应键盘回车事件。
2.每次点击“第几页”的链接,Display Tag为页面链接生成的URL都会将Struts配置文件中的包名加上,点的次数越多,URL越长,会不会出现URL过长导致不能点击?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值