gpt4 book ai didi

javascript - 输入上的 this 和 jquery(this) 不一样吗?

转载 作者:行者123 更新时间:2023-12-02 17:14:42 25 4
gpt4 key购买 nike

我希望在 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.');">

当我提交表单时..我收到一条自定义消息:“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");
}
});

有什么想法吗?

最佳答案

你有“这个”

 InvalidMsg($(this),"Error Dude");
^^^^

您正在包装它,因此它是一个 jQuery 对象,而不是 DOM 元素。

InvalidMsg(this, "Error Dude");

关于javascript - 输入上的 this 和 jquery(this) 不一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24542036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com