在javascript中,我应该创建一个函数来检查表单中的文本字段是否为空。如果是,并且用户单击“提交”,则不允许用户继续。我在w3schools(http://www.w3schools.com/js/js_validation.asp)找到了我认为合适的解决方案。我检查过的次数比我记忆的要多,而且一切似乎都井井有条,但它不起作用!!相反,当点击提交按钮时,网站会调用我在javascript中使用的不同功能,而不应该这样做...
HTML代码
Other code
<p>
<form method="post" name="form" action="" onsubmit="return validateName()">
<label for="fullName">Namn: </label><input id="fullName" class="text" name="namn" type="text"> </input>
</p>
<p>
<label for="epost">Epost: </label><input id="epost" class="text" name="epost" type="email"> </input>
</p>
<p>
<input id="submit" type="submit" value="Skicka"> </input>
</p>
</form>
Other code
Javascript代码
function validateName() {
var a = document.forms["form"]["namn"].value;
if (a == null || a == "") {
alert("Name required");
return false;
} else {
return true;
}
}
单击提交按钮应该在上面调用此函数(validateName),而是调用此函数:
function alert() {
return confirm("Do you really wish to leave this website?");
}
我多次查看了我的代码,但却找不到任何看似不合适的地方。你们中间有人发现任何错误吗?也许建议一个解决我的问题的解决方案,以便我的功能正常工作?
如果有人能帮我解决这个问题,我将非常感激!
答案 0 :(得分:0)
这是因为您在alert
函数中调用validateName
函数。
function validateName() {
var a = document.forms["form"]["namn"].value;
if (a == null || a == "") {
alert("Name required"); //<- remove this
return false;
} else {
return true;
}
}
答案 1 :(得分:0)
View()->render()
是alert
,您正确使用一次,第二次错误使用。只需将您的predefined function
功能的名称更改为其他内容,或者只使用alert
confirm
并忽略intended
部分
<强>正确:强>
function alert
<强>不正确:强>
alert("Name required");
一个解决方案是:
function alert() {
return confirm("Do you really wish to leave this website?");
}
答案 2 :(得分:0)
我认为您可以将此代码替换为:function validateName(){ 要纠正这个,只需输入一个命令: function validateName(this){