2013-06-30 102 views
0

我在我的html文件中寫入了以下表單。沒有發生javascript驗證

<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> 

而且我已經加入這個javascript函數我的HTML文件

<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文件。什麼似乎是問題?

回答

1

您的「發送消息」按鈕只是一個按鈕 - 它不提交表單。您可以使用<input type="submit">或使用您的<button>上的JavaScript來提交表單。

0

你需要添加一個onclick事件到你的按鈕。下面的屬性添加到按鈕

語法:

onclick="document.NameOfTheForm.submit();" 
在這句法

所以,你必須添加以下

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