这对输入和jquery(This)是不一样的
this on input and jquery(this) is not same?
我希望在Jquery中获得等效的"this"。
如果我关闭datePicker并在InvalidMsg中使用jQuery(this)
我得到这个错误:
Uncaught TypeError: Cannot read property 'patternMismatch' of undefined
但是如果我保持输入为空,然后提交表单。InvalidMsg工作得很好。
有点晦涩,但是我有这样的输入:
<input type="text" name="birthday"
class="form-control date fulldate hasDatepicker" required=""
id="birthday" value=""
placeholder="birthday" oninvalid="InvalidMsg(this,'Error dude.');"
oninput="InvalidMsg(this,'error dude.');">
当我提交表单…我有一条自定义消息:"老兄,错误。"
这是触发函数:
function InvalidMsg(input,txt) {
if(input.validity.patternMismatch || input.validity.valueMissing || input.validity.rangeUnderflow || input.validity.rangeOverflow || input.validity.tooLong || input.validity.rangeOverflow){
input.setCustomValidity(txt);
}
else {
input.setCustomValidity('');
}
return true;
}
一切正常
现在我在这个输入上有一个日期选择器:
$('#birthday').datepicker({
onClose: function (dateText, inst) {
var d = new Date();
var day1 = $(this).datepicker('getDate').getDate();
var month1 = $(this).datepicker('getDate').getMonth();
var year1 = $(this).datepicker('getDate').getFullYear();
var day2 = d.getDate();
var month2 = d.getMonth();
var year2 = d.getFullYear();
console.log((month1).toString().length + " " + month1 );
if(month1.toString().length < 2){
month1 = "0"+month1.toString();
}
if(month2.toString().length < 2){
month2 = "0"+month2.toString();
}
if(day1.toString().length < 2){
day1 = "0"+day1.toString();
}
if(day2.toString().length < 2){
day2 = "0"+day2.toString();
}
var e = year1+""+month1+""+day1;
var f = year2+""+month2+""+day2;
if(e>f || e.toString().length == 8)
InvalidMsg($(this),"Error Dude");
}
});
任何想法?
你有"this"
InvalidMsg($(this),"Error Dude");
^^^^
你正在包装它,所以它是一个jQuery对象,而不是DOM元素。
InvalidMsg(this, "Error Dude");
相关文章:
- jQuery:具有class但不具有$(this)的元素
- 为什么'这两根绳子不一样吗
- jQuery的工作方式不一样
- 使用条件函数的Jquery ReplaceWith()的行为与我预期的不一样
- 为什么两个“这个”不一样
- Function.length和this.length不一样.为什么
- jQuery不使用“$(this)”返回必需的元素
- 为什么您可以在不引用“this”的情况下操作对象属性
- 如何通过指定的元素而不是 $(this) 调用 jquery 单击方法
- IE DIV悬停区域不一样.直到我添加背景颜色
- i-- 和 i = i-1 的评估不一样
- JavaScript 中对象的属性使用 this 和不使用 this
- 在 Jquery 中使用选择器而不是“this”
- 找不到$(this)对象's的父级在零剪贴板(v2.1.6)插件中
- 将变量self而不是this添加到闭包中
- 我没有'我不了解$(this)jQuery对象是如何工作的
- 在jQuery中缓存或不缓存$(this)
- Wagerfield'的例子看起来和来源不一样
- 鼠标下移页面X,页面Y和鼠标移动页面X后页面Y不一样,随机发生
- 这对输入和jquery(This)是不一样的