Javascript在WAMP上不起作用,但没有它可以正常工作

时间:2015-04-15 03:08:33

标签: javascript php onclick localhost wamp

我刚开始学习PHP和WAMP。在此之前,我使用HTML,CSS和JS创建了一组网页。 JS用于验证表单,如果一切顺利,它将跳转到一个将数据插入sql数据库的php页面。

简化的form.html和validation.js是:

function validation() {
  var emailCheck = email.search(/^[a-zA-z0-9_]+\@[a-zA-z0-9_]+\.[a-zA-z]{2,3}$/);
  if (emailCheck==-1) alert("Please enter a valid email address");
  else document.getElementById("signup").action = "success.php";
 }

表格代码

<form id="signup" class = "signup" method="POST">
  .....
<input type="text" name="email" id="email" required/>
  ....
<button class = "button3" onclick = "validation()">Submit</button>
</form>

success.php只是将数据插入mySQL数据库。

现在我在不使用localhost的情况下运行form.html,javascript完美运行。如果输入错误的内容,则会显示警报窗口。

如果我使用WAMP运行localhost / form.html,当我输入错误的东西时,javascript就不起作用了。警报窗口不会显示。但是当我通过验证时,它成功跳转到success.php。

因此,我认为Javascript正在运行,但由于javascript是form.html和success.php之间的唯一连接,因此它的某些部分不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

变量“email”未定义,因此您无法在未定义的变量上使用搜索功能。您需要先获取电子邮件值。

function validation() {
    var emailCheck = document.getElementById("email").value.search(/^[a-zA-z0-9_]+\@[a-zA-z0-9_]+\.[a-zA-z]{2,3}$/);
    if (emailCheck==-1) alert("Please enter a valid email address");
    else document.getElementById("signup").action = "success.php";
}