Jsp 单击使button不可用

 

经常用到的一种情况:在分页显示查询结果数据时候,当到达首页时候使得首页button和上一页button不可用,到达尾页时候下一页和尾页不可用。

第一种代码实现(失败):

Jsp:
<input type="button" value="首页" id="firstPage"  οnclick="goFirst()"  />
<input type="button" value="上一页" id="previousPage" οnclick="goPrevious()"/>
<input type="button" value="下一页" id="nextPage" οnclick="goNext()"/>
<input type="button" value="尾页" id="lastPage" οnclick="goLast()"  />

Javascript:
function goFirst() {
		window.self.location = "../servlet/user_info?pageNo=${userPageModel.firstPage}";		
	}

	function goPrevious() {
		window.self.location = "../servlet/user_info?pageNo=${userPageModel.previousPage}";
	}
	function goNext() {
		window.self.location = "../servlet/user_info?pageNo=${userPageModel.nextPage}";
	}
	function goLast() {
		window.self.location = "../servlet/user_info?pageNo=${userPageModel.lastPage}";
	}

第二种代码实现(失败):

Jsp代码同上,在javascript代码中每个方法加上设置button.disabled=true;即

// previousPage是html button标签的id
document.getElementById("previousPage").disabled=true;
function goPrevious() {
		window.self.location = "../servlet/user_info?pageNo=${userPageModel.previousPage}";
		document.getElementById("previousPage").disabled=true;
	}

第三种代码实现(成功一半,失败一半):

Jsp代码:
<input type="button" value="首页" id="firstPage" οnmοusedοwn="goFirst()" οnmοuseup="setDisabled(this)"/>

Javascript代码:
function goFirst() {
		window.self.location = "../servlet/user_info?pageNo=${userPageModel.firstPage}";		
	}
	
	function setDisabled(field) {
		field.disabled=true;
	}

成功一半失败一半的原因在于 onclick 、onmousedown、onmouseup 的区别:

click=mousedown+mouseup
鼠标按下弹起为一次click,如果只按下但是移开了不算一次click

onmouseup,有特殊情况,不管在哪里按下,只要弹起的时候在你目标区域上,就会触发。
onclick,是必须有完整的在当前区域按下,弹起。

 

最后采用JSTL的C标签来完成:(成功)

Jsp代码:
<c:choose>
	<c:when test="${userPageModel.pageNo eq 1}"  >
		<input type="button" value="shouye" id="firstPage" disabled="true" />
		<input type="button" value="上一页" id="previousPage" disabled="disabled"/>	
	</c:when>
	<c:otherwise>			
		<input type="button" value="首页" id="firstPage"  οnclick="goFirst()" />		<input type="button" value="上一页" id="previousPage" οnclick="goPrevious()"/>	
		</c:otherwise>
	</c:choose>
	<c:choose>
		<c:when test="${userPageModel.pageNo eq userPageModel.lastPage }"  >
			<input type="button" value="下一页" id="nextPage" disabled="disabled"/>
			<input type="button" value="尾页" id="lastPage" disabled="disabled"  />			
		</c:when>
		<c:otherwise>			
			<input type="button" value="下一页" id="nextPage" οnclick="goNext()"/>
			<input type="button" value="尾页" id="lastPage" οnclick="goLast()"  />			
		</c:otherwise>
	</c:choose>
Javascript代码
同第一种情况代码,此处略。


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值