javascript验证没有发生

时间:2013-06-30 15:18:42

标签: javascript html django

我在html文件中写了以下表格。

 <form name = "myForm" method="post" action="" id="comment_form" class="comment_form" onsubmit="return validateForm()"  >{% csrf_token %}
                <div class="row-fluid">
                    <div class="span6">
                        <input type="text" id="email" name="email" placeholder="Email*">
                    </div>
                    <div class="span6">
                        <input type="text" id="name" name="name" placeholder="Name*">
                    </div>
                </div>
                <div class="row-fluid">
                    <div class="span8">
                        <textarea name="message" id="txt_message" placeholder="Message*" cols="30" rows="10"></textarea>
                    </div>
                    <div class="span4">
                        <button class="btn " type="button"><i class="li_paperplane"></i>Send message</button>
                    </div>
                </div>
            </form>

我在我的HTML文件中添加了这个javascript函数

<script>function validateForm()
     {
    var x=document.forms["myForm"]["name"].value;
    var y=document.forms["myForm"]["email"].value;
    var a=document.forms["myForm"]["message"].value;
    var atpos=y.indexOf("@");
    var dotpos=y.lastIndexOf(".");
    if (x==null || x=="" ||y==null||y==""||a==""||a==null)
    {
        alert("All fields must be filled out");
        return false;}
    if (atpos<1 || dotpos<atpos+2 || dotpos+2>=y.length)
    {
        alert("Please enter a valid e-mail address");
        return false;
    }

    else{
        alert("Thank you for your response");
        return true;
    }
}</script>

点击发送消息按钮我没有收到来自javascript的任何回复。代码看起来很好,相同的代码正在处理另一个HTML文件。什么似乎是问题?

2 个答案:

答案 0 :(得分:1)

您的“发送消息”按钮只是一个按钮 - 它不会提交表单。您可以使用<input type="submit">或使用<button>上的JavaScript来提交表单。

答案 1 :(得分:0)

您需要在按钮上添加onclick事件。将以下属性添加到按钮

语法:

onclick="document.NameOfTheForm.submit();"

因此,在此语法中,您必须添加以下

onclick="document.myForm.submit();"