背景资料:
我的表单中包含一个名为“电话号码”的字段。当用户键入数字时,为了证明它是有效的,我会查找并根据某种算法返回任何匹配的国家/地区代码。 问题是我应该使用哪个事件来触发此查找/验证。现在,我已经在.change事件上触发了它,这很可能,除非有问题的字段是页面上的最后一个字段。用户没有注意到它进行查找的事实。
代码:
$( "#phone_num" ).change(function() {
$("#ratecenter").html('');
var pstn = $(this).val();
if (validphonenumber(pstn)) {
var query_data = {pstn_number: pstn,action:"find_ratecenter" };
$.ajax({
url: "/cgi-bin/phonenumbers",
dataType: "json",
data: query_data,
success: function(data) {
$("#ratecenter").html(data[0].ratecenter);
}
});//end ajax
} else {
$("#results").html("Invalid phonenumber. Please enter a '+' followed by a min of 7 / max of 15 numbers");
return false;
}
});
假设我无法更改此字段在表单上的显示位置,您是否可以建议更好的方法来进行此验证? 当他们点击提交时,我正在重复相同的验证逻辑,以便他们无法绕过它...但是在尝试提交数据之前能够“通知”它们会很高兴
答案 0 :(得分:1)
您可以使用输入事件,该事件非常适用于文本框/输入框,并且每次输入内容时都会触发事件。
答案 1 :(得分:1)
使用
$(element).bind('input propertychange', function() {
//do stuff
});
看看下面的问题,了解如何在键入输入时验证输入,而不是在离开输入字段后。
答案 2 :(得分:1)
你可以在' keyup'并且随着电话号码的推出,它将被验证。
struct GetName {
virtual string getName(std::variant<int, string>) = 0;
};