1

フォーム検証を使用して単純な入力ボックスを作成しようとしていますが、成功した場合に URL への投稿を発行する方法が 100% わかりません。jqueryスクリプト内だけで投稿を発行する必要があるのか​​ 、それともviews.pyファイル内で何かを修正する必要があるのか​​ 、100%確信が持てません...

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

何か案は ??

4

2 に答える 2

1

変更する2つのこと。まずは交換

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

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

ボタンを完全にバイパスして、テキスト ボックス内で return/enter を押すことで検索フォームを送信できるためです。

第二に、変更

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それ以上介入しなくても続行できるようになります。

于 2012-04-10T21:37:11.120 に答える
0

フォームに id を付けます:

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

そして、提出する準備ができたらいつでも使用してください:

$('#form1').submit();
于 2012-04-10T21:36:02.000 に答える