0

我在我的 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 文件。似乎是什么问题?

4

2 回答 2

1

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

于 2013-06-30T15:24:27.423 回答
0

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

句法:

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

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

onclick="document.myForm.submit();"
于 2013-06-30T15:33:21.207 回答