【发布时间】:2017-12-15 10:03:55
【问题描述】:
我有一个表单来输入一个 url,并且必须检查它是否是一个带有 JavaScript 的 url。
Firefox 中的控制台没有显示代码中的任何错误(调试器也没有显示任何错误)但它没有运行。
我也尝试过不经验证就显示输入,但什么也没有
document.getElementById("link").addEventListener("click", linkfuction, false);
function linkfuction() {
var link = document.getElementById("general-link").value;
document.getElementById("1").innerhtml = "link";
function ValidURL(link) {
var regex = /(http|https):\/\/(\w+:{0,1}\w*)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%!\-\/]))?/;
if (!regex.test(link)) {
document.getElementById("1").innerhtml = "Enter a valid url";
return false;
} else {
return true;
}
}
}
<div style="padding-bottom: 1rem;">
<form><input type="text" id="general-link"><input type="button" id="link" value="Download"></form>
</div>
<div style="font-size: 1.5rem">
<p id="1"></p>
</div>
【问题讨论】:
-
innerhtml应该是innerHTML -
你在哪里/如何调用你的
ValidURL函数?您实际上并没有在您发布的代码中使用它。 -
innerhtml►innerHTML和ValidURL嵌套在linkfuction中并且从不触发。您没有看到错误的原因是在 JavaScript 中,如果属性不存在,例如innerhtml,它将在分配期间创建。代码执行得很好,将innerhtml与元素的链接值相加。您的嵌套函数ValidURL没有抛出错误,因为嵌入函数的语法是有效的,并且您已经嵌入但从未调用过不会触发错误。
标签: javascript forms validation input