回复:表单验证不起作用

时间:2015-02-05 22:12:01

标签: javascript forms

我是关于后端技术的新手,我想提前感谢您的耐心等待。我正在开发一个包含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;
}

1 个答案:

答案 0 :(得分:0)

它看起来不像你调用validate()函数。尝试以下方面:

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

关注w3schools的这个example ......这似乎正是你想要做的。您从未将值分配给变量。为表单指定一个名称(例如name="myform"),并在示例中以相同的方式引用变量。

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