2012-04-10 109 views
1

我试图创建一个简单的输入框与表单验证,但即时通讯不是100%确定如果成功发布一个帖子的URL。我不是100%肯定,如果我只是需要内的jQuery脚本,或者如果我还需要在views.py文件中修改任何发出帖子...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

两件事情改变。首先,

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

更换

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

,因为它是可以通过按下回车即可提交搜索表单/文本框中输入范围内,完全绕过按钮。

其次,改变

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

这应该允许submit无需进一步干预进行。

0

给您形式的ID:

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

,每当你准备提交使用:

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