2012-04-10 25 views
1

フォーム検証で簡単な入力ボックスを作成しようとしていますが、成功した場合にURLへの投稿をどのように発行するかは100%わかりません。イム私はjqueryのスクリプト内、または私もviews.pyファイル内で何かを修正する必要がある場合はポストを発行する必要がある場合は、100%確実ではない...Django/Jqueryフォーム投稿

<html> 
<head> 
    <meta charset="utf-8"> 
    <title>Demo</title> 
    </head> 

<body> 

<script src="{{ STATIC_URL }}js/jquery.js"></script> 

<script type="text/javascript"> 
jQuery(function(){ 
     $("#btn-search").click(function(){ 
     $(".error").hide(); 
     var hasError = false; 
     var searchReg = /^[a-zA-Z0-9-]+$/; 
     var searchVal = $("#search-text").val(); 
     if(searchVal == '') { 
      $("#search-text").after('<span class="error">Please enter a search term.</span>'); 
      hasError = true; 
     } else if(!searchReg.test(searchVal)) { 
      $("#search-text").after('<span class="error">Enter valid text.</span>'); 
      hasError = true; 
     } 
     if(hasError == true) {return false;} 
          else { 
            $("#search-text").after('<span class="error">Search term accepted.</span>'); 
            return false; 
          } 
    }); 
}); 
</script> 

<form method="post" name="form1" action="/whatmask_output/"> 
{% csrf_token %} 
    <fieldset> 
      <div><label>Search:</label><input type="text" name="search-text" id="search-text" value="" size="32" /></div> 
      <div><label></label><input type="submit" value="Submit" id="btn-search" /></div> 
    </fieldset> 
</form> 

</body> 
</html> 

任意のアイデア?

答えて

1

2つのことを。それは完全にボタンをバイパスし、テキストボックス内入力/リターンを押すことで、検索フォームを送信することが可能ですので、まず、

$("form").submit(function(){ 

$("#btn-search").click(function(){ 

を交換してください。これはsubmitはさらなる介入なく進行できるようにする必要があります

else { 
    $("#search-text").after('<span class="error">Search term accepted.</span>'); 
    return false; 
} 

else { 
    $("#search-text").after('<span class="error">Search term accepted.</span>'); 
    return true; 
} 

第二に、変化します。

0

は、フォームIDを付与します。

<form method="post" id="form1" name="form1" action="/whatmask_output/"> 

そして、あなたが使用することを提出する準備ができている時はいつでも:変更する

$('#form1').submit();