回复:表单验证不起作用

Re: Form validation not working

本文关键字:不起作用 验证 表单 回复      更新时间:2023-09-26

我是后端技术的新手,感谢您的耐心等待。我正在开发一个包含php的网站,其中一个链接是一个联系表格(见下文)。我需要使用javascript验证表单中的字段(请参阅下面的代码)。我也在使用本地服务器(WAMP)。当我加载包含表单的页面并输入错误的字符数或将表单字段留空时,不会出现错误消息。非常感谢您的帮助。。。再次感谢你的耐心。

php文档(contact.php)

<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/javascript" src="form2.js"></script>
<?php require 'Includes/Header.php'; ?>
<div class="wrapper">
    <div id="contact-form">
    <h5>Contact Form</h5>
    <form method="post" action="contact.php">
    <label for="name">Name:</label>
    <input type="text" id="name" name="name">
    <label for="email">Email:</label>
    <input type="email" id="email" name="email">
    <label for="message">Message:</label>
    <textarea id="message" name="message"></textarea>

    <button type="submit">Send</button>
</form>         
        <div class="clear"></div>
</div>
</div>

<?php require 'Includes/Footer.php'; ?>

Javascript(form2.js)

function validate(form){
    var name = form.name.value;
    var name = form.email.value;
    var name = form.message.value;
    if (name.length == 0 || name.length > 200)
    {
        alert ("You must enter a name.");
        return false;
    }
    if (email.length == 0 || email.length > 200)
    {
        alert ("You must enter a email.");
        return false;
    }
    if (message.length == 0)
    {
        alert ("You must enter a message.");
        return false;
    }
    return true;
}

看起来不像是在调用validate()函数。尝试一些类似的东西:

<form method="post" action="contact.php" onsubmit="return validate()">

遵循w3schools中的此示例。。。这似乎正是你想要做的。你也从来没有给变量赋值。为表单指定一个名称(例如name="myform"),并以与示例中相同的方式引用变量。

var name = document.form["myform"]["name"].value;