我在 W3Schools 中找到了这段代码。它是关于使用 Javascript 进行表单验证的。
当用户输入错误的邮件格式时,会出现警告。
当我检查我在表单 onsubmit="return validateForm();
上看到的代码时,函数在错误情况下返回 false。
所以我的问题是如何从 javascript 获取 bool 值以在 PHP 中使用它来编写错误消息而不是使用消息框。
这是我的代码:
<html>
<head>
<script type="text/javascript">
function validateForm()
{
var x=document.forms["myForm"]["email"].value
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
alert("Not a valid e-mail address");
return false;
}
}
</script>
</head>
<body>
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm();" method="post">
Email: <input type="text" name="email">
<input type="submit" value="Submit">
</form>
</body>
</html>
提前致谢。
阿里
最佳答案
您无法从 javascript 获取 bool 值。你需要做的是提前准备好错误div。像这样:
<body>
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm();" method="post">
Email: <input type="text" name="email">
<div id="error"></div>
<input type="submit" value="Submit">
</form>
给它添加css 来隐藏它。然后在您的验证表单中,使用 javascript 更改错误 div 的 HTML。
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
document.getElementById("error").innerHTML="Not a valid e-mail address";
return false;
}
“返回错误;”部分是告诉表单不要提交。正如其他答案中提到的,PHP 和 Javascript 没有接口(interface)。 PHP 是服务器端,Javascript 是客户端。他们不互相交谈。但是,它们都可以修改 HTML。请记住,Javascript 始终在浏览器中运行。因此,如果它需要将内容发送到 PHP,则需要使用 AJAX 调用服务器端 PHP 脚本并以这种方式发送信息。然而,大多数时候,当您使用 Javascript 时,需要信息的不是 PHP,而是用户。所以使用 Javascript 修改 HTML 就可以了。
关于php - 使用 javascript 到 php 的表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6526359/