2013-03-04 65 views
4

我做了一個小表單,我希望它在用戶輸入空白時發回信息給用戶。錯誤:「請使用POST請求」使用Form和Javascript

由於某種原因,它說請使用發佈請求,所以我添加了它,現在它給了我一個不同的錯誤消息。

下面是代碼: http://jsfiddle.net/pwtnY/

<div id="main"> 
<form name="myForm" method="post"> 
    <label><span>First Name:</span><input type="text" class="firstname" name="fname"></label><br/> 
    <label><span>Last Name:</span><input type="text" class="lastname"></label><br> 
    <label><span>E-Mail:</span><input type="text" class="email"></label><br/> 
    <label><span>Phone:</span><input type="text" class="phone"></label><br/> 
    <input type="submit" name="submit"> 
</form> 
<div id="answer"></div> 
</div> 

的Javascript:

$(document).ready(function(){ 
    $('input:submit').click(function(){ 
     $firstname = $('.firstname').val(); 
     $lastname = $('.lastname').val(); 
     $email = $('.email').val(); 
     $phone = $('.phone').val(); 

     if($firstname === "" && $lastname==="" && $email ==="" && $phone === ""){ 
      $("#answer").html("Please fill out all fields."); 
     } 

    }); 
}); 

任何人都知道這個問題可能是什麼,我怎麼可能去解決呢?

+0

您是否嘗試查找實際的錯誤?更多信息可用於DEBUG = True。 – 2013-03-04 22:00:39

+0

我不知道,我會如何補充。對不起,我是初學者。 – 2013-03-04 22:05:39

+0

在你的settings.py文件中。 – andyzinsser 2013-03-04 22:06:46

回答

3

當你點擊提交時,表單實際上發佈到你的django後端。如果您想在發佈到服務器之前進行前端驗證,請防止提交按鈕實際發佈。

$('input:submit').click(function(event){ 
     event.preventDefault(); 
     $firstname = $('.firstname').val(); 
+0

仍然沒有在jsfiddle中工作。我在頂部留下了一個鏈接。是否應該取代事件? – 2013-03-04 22:10:34

+0

您需要將jquery添加到小提琴中。我在這裏添加了event.preventDefault()和jquery - http://jsfiddle.net/andyzinsser/pwtnY/20/ – andyzinsser 2013-03-06 06:37:03

0

在你的小提琴中你沒有包含jquery庫。如果您不想向服務器提交任何內容,請用簡單按鈕<input type="button" value="submit">替換提交按鈕。有更新您的示例:fiddle

P.S.您可能想在驗證中使用OR而不是AND來驗證是否有任何字段爲空