现在几个小时都在寻找答案,我仍然没有找到解决方案。我试过寻找类似的问题,但没有一个帮助,真的。
所以基本上,不起作用的是表单提交时没有任何错误消息,即使表单上有错误也是如此。基本上,我可以将名称字段留空,一旦按下按钮,表单仍然会提交。希望这是有道理的。任何帮助表示赞赏
代码:
function validateFinale()
{
var emailOne = document.getElementById("em1").value;
var emailTwo = document.getElementById("em2").value;
var name = document.getElementById("name1").value;
if (compare())
{
if (name, 'Please enter name'))
{
if (validEmail(getElementById('em1'), 'Email invalid'))
{
}
}
}
return false;
}
function validName(elem, helpmsg) {
if (elem.value.length == 0) {
alert(helpmsg);
return false;
} else {
return true;
}
}
function validEmail(elem, msg) {
var wrongem = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]+$/;
if (elem.value.match(wrongem)) {
return true;
} else {
alert(msg);
return false;
}
}
function compare() {
if (emailOne != emailTwo) {
alert("Emails not the same");
submitOk = "false";
Document.getElementById("em1").value = " ";
Document.getElementById("em2").value = " ";
Document.getElementById("em1").focus();
} else {
alert("form complete, thank you");
}
}
答案 0 :(得分:0)
你犯了语法错误,首先你将emailOne声明为局部变量,而不是尝试在全局范围内达到它。您应该在全局范围内声明变量emailOne和emailTwo。
var emailOne;
var emailTwo;
function validateFinale()
{
emailOne = document.getElementById("em1").value;
emailTwo = document.getElementById("em2").value;
var name = document.getElementById("name1").value;
一个金币提示,请尝试在浏览器中按F12键,所有错误消息都会显示在控制台中。
答案 1 :(得分:-1)
尝试在输入元素中设置// Bogus data for example: an array with a dictionary
let exampleString = "[{\"fields\": {\"key1\": 42}}]" // it would be `jsmethod` for you
let exampleStringData = exampleString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
// Cocoa object from data
var arrayFromData = NSJSONSerialization.JSONObjectWithData(exampleStringData!, options: nil, error: nil) as! NSArray
// JSON from the object
var toJS = NSJSONSerialization.dataWithJSONObject(arrayFromData, options: NSJSONWritingOptions.PrettyPrinted, error: nil)
:
let sanitized = jsmethod.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
此外,如果您在电子邮件字段中设置required ="true"
,它将要求提供电子邮件地址(完全没有,但它只会接受任何带有&#34的内容; @&#34 ;)
代码<input type="text" required ="true"...
应为type="email"
,否则您将获得所有HTML元素