Lor*_*uel 0 validation url jquery http input
在我的输入字段验证中,我将输入类型设置为“url”。
具有“http://”或“https://”协议的 URL 是有效的。没有它,网址无效。
有效:http : //www.foo.com
有效:https : //www.foo.com
无效:www.foo.com
无效:foo.com
在我的代码中,每当 URL 链接没有“http://”或“https://”时,函数“checkURL()”就会像下面的代码一样添加它。
// just for the demos, avoids form submit
jQuery.validator.setDefaults({
debug: true,
success: "valid"
});
$( "#myform" ).validate({
rules: {
field: {
required: true,
url: true
}
}
});
function checkURL(url) {
var string = url.value;
if (!~string.indexOf("http")) {
string = "http://" + string;
}
url.value = string;
return url;
}
Run Code Online (Sandbox Code Playgroud)
<form id="myform">
<label for="field">Required, URL: </label><br>
<input type="url" id="field" name="field" onblur="checkURL(this)">
</form>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.validation/1.15.0/jquery.validate.min.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.validation/1.15.0/additional-methods.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
在代码片段中,我输入“www.yahoo.com”。
当我在该字段外单击时,函数 checkURL 将“http://”添加到我的输入中,因此我得到“ http://www.yahoo.com ”。
问题是添加“http://”后,jQuery 验证仍然认为 URL 无效。
我必须单击输入字段,然后再次单击它的外部以使其知道它是有效的。
在我们输入没有协议的 url(即:www.yahoo.com)后,有没有办法使验证有效?
编辑:我忘了type="url"
为输入字段输入我的代码。
不应更改为 type="text"
小智 5
尝试使用 onchange 而不是 onblur
// just for the demos, avoids form submit
jQuery.validator.setDefaults({
debug: true,
success: "valid"
});
$( "#myform" ).validate({
rules: {
field: {
required: true,
url: true
}
}
});
function checkURL(url) {
var string = url.value;
if (!~string.indexOf("http")) {
string = "http://" + string;
}
url.value = string;
return url;
}
Run Code Online (Sandbox Code Playgroud)
<form id="myform">
<label for="field">Required, URL: </label><br>
<input type="url" id="field" name="field" onchange="checkURL(this)">
</form>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.validation/1.15.0/jquery.validate.min.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.validation/1.15.0/additional-methods.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
HTML 中的 onBlur 和 onChange 属性有什么区别?
归档时间: |
|
查看次数: |
3643 次 |
最近记录: |