jquery里自带的时间控件,怎么禁止手动输入,只能选取控件上的日期,而且是两个时间控件选择一个时间段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery里自带的时间控件,怎么禁止手动输入,只能选取控件上的日期,而且是两个时间控件选择一个时间段相关的知识,希望对你有一定的参考价值。
jquery里自带的时间控件,怎么禁止手动输入,只能选取控件上的日期,而且是两个时间控件选择一个时间段,怎么验证后面选择的时间必须必前面选的时间晚!
1 先查下 UI文档中有没有选项2 如果没有再绑定一个鼠标事件 大意就是当鼠标点击这个框的时候 加上disabled属性
也就是说必须点击 日历图标才触发事件
3 日期段验证jqueryUI 里面有对应demo 拿来用即可
(还可以用隐藏域来中转 也可以达到不能手动的目的) 参考技术A 禁止输入的方法:input有个disabled属性(即禁止输入)
后面选择的时间必须必前面选的时间晚的方法:
读取前一个input的value,比对第二个选择的时间来判断是否符合要求,符合的可选,不符合的不可选追问
这个Easyui-datebox怎么禁止手动输入?如果设为disabled日历不可手动输入也不可选择日期和事件
追答那要看你的控件的执行原理了,估计是你的控件选择事件的触发条件是input获取焦点,你可以把它的触发条件改成点击
参考技术B <input readonly value="aa" />readonly 是不可编辑,disable的是不可使用。selenium之 时间日期控件的处理(转)
我们不去搞时间日期空间,我们把它当成一个普通的input框处理就好了!
但是,很多此类型input框都是禁止手动输入的,怎么办?
很简单,用js把禁止输入的readonly属性干掉就好了。
来吧,看一下示例:
示例网址:http://www.sucaijiayuan.com/api/demo.php?url=/demo/20141108-1/
代码:
# -*- coding: utf-8 -*-
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get(‘http://www.sucaijiayuan.com/api/demo.php?url=/demo/20141108-1/‘)
driver.switch_to.frame(‘iframe‘)
# js = "document.getElementById(‘txtBeginDate‘).removeAttribute(‘readonly‘)" # 1.原生js,移除属性
# js = "$(‘input[id=txtBeginDate]‘).removeAttr(‘readonly‘)" # 2.jQuery,移除属性
# js = "$(‘input[id=txtBeginDate]‘).attr(‘readonly‘,false)" # 3.jQuery,设置为false
js = "$(‘input[id=txtBeginDate]‘).attr(‘readonly‘,‘‘)" # 4.jQuery,设置为空(同3)
driver.execute_script(js)
driver.find_element_by_id(‘txtBeginDate‘).send_keys(‘2016-08-24‘)
sleep(2)
print driver.find_element_by_id(‘txtBeginDate‘).get_attribute(‘value‘)
driver.quit()
结果:
2016-08-24
当然,这里还得说一下,有人说他遇到的日期时间框没有id、name,这里提醒一下,这就是普通的input框,定位方法太多了,class、tag name、xpath、css,总有一种适合你。同时友情提醒一下:注意时刻提防iframe!
---------------------
作者:huilan_same
来源:CSDN
原文:https://blog.csdn.net/huilan_same/article/details/52385401
以上是关于jquery里自带的时间控件,怎么禁止手动输入,只能选取控件上的日期,而且是两个时间控件选择一个时间段的主要内容,如果未能解决你的问题,请参考以下文章
jquery draggable 怎么判断当前控件是不是被禁止拖动