2017-04-07 3 views
0

私はDjangoアプリケーションを開発しており、JavaScriptを使用してウェブサイトを改善したいと考えています。フォームがJQueryで有効である場合、フォームを確認してメッ​​セージを表示

私はフォームを持っていると私は2つのことを表示したいと思います:

  • は前にフォームがうまく送信された場合、
  • を提出するメッセージを表示するフォームの確認:「フォームが保存されている」

私はJSを初めて使用しています。このプロセスを行うためには助けが必要です。

これは私のコードです:私のフォームが有効であり、保存されている場合

<form class = "form" method='POST' action=''> {% csrf_token %} 
     <br></br> 
     {{ form.as_p}} 
     <br></br> 

     <button type="submit">Valider</button> 
    </form> 

    <script> 
     $('#form').submit(function() { 
     var c = confirm("Click OK to continue?"); 
     return c; //you can just return c because it will be true or false 
    }); 
    </script> 

そして:

<script type="text/javascript" > 
       $(document).on('Valider', 'form.form', function(form) { 
       var $form = $(form); 
       $.ajax({ 
        url:"/path_to_my_html_file/BC_form2.html", 
        type: "POST", 
        success: function(form) { 
        alert("Form is saved"); 
        } 
       }); 
       }); 
      </script> 

あなたは私を助けてもらえますか?

は、あなたがあなたの目的でこのコードを採用することを試みることができるあなたに

答えて

1

ありがとう:

$('#form').submit(function(e) { 
 
    // Prevents form to be submitted by default post request with page reloading 
 
    e.preventDefault(); 
 
    if (confirm("Click OK to continue?")) { 
 
     // Here you can call your AJAX request 
 
     callAjax($('input[type=text]').val()) 
 
    } 
 
}); 
 

 
function callAjax(value) { 
 
    // Making AJAX request to your endpoint 
 
    // GET ipify just for example 
 
    $.ajax({ 
 
     url:"https://api.ipify.org?format=json", 
 
     type: "GET", 
 
     success: function(form) { 
 
     alert("Form is saved"); 
 
     } 
 
    }); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="form"> 
 
    <input type="hidden" value="MOCK FOR CSRF TOKEN" /> 
 
    <br></br> 
 
    <input type="text" required /> 
 
    <br></br> 
 

 
    <button type="submit">Valider</button> 
 
</form>

+0

感謝を.validあなたの答えは、私はいくつかの問題が発生します。最初の1つは、私のフォームが有効である(すべてのフィールドが十分に満たされている)かどうかを考慮していません。私のフォームが有効な場合、私は両方のウィンドウを持っていますが、 'submit'フォームが動作しません^^ – Deadpool

+0

'必須 '属性を使用していて、すべての入力が満たされていない場合、バレンタインは送信しません。また、追加の検証を追加する場合は、onSubmitハンドラ内で確認の前に検証を行うことができます。したがって、フォームが無効な場合は、ユーザーにエラーが表示され、returnを使用して関数の実行が停止されます。 –

+0

私はあなたの答えを理解する必要があり、私はそれを行うことができます参照してください)ありがとう – Deadpool

0

使用して提出する機能に)(のための

$('#form').submit(function() { 
    var isValid=$("#form").valid(); 
      if (isValid) { //If there is no validation error 

      var c = confirm("Click OK to continue?"); 
      if(c){ 
       $.ajax({ 
       url:"/path_to_my_html_file/BC_form2.html", 
       type: "POST", 
       success: function(form) { 
        alert("Form is saved"); 
       } 
       }); 

      } 

      } 
      else { 
      alert('form is not valid');        
      } 

     }); 
</script> 
+0

私は表示されている警告を持っていない理由を参照する必要があります^^ – Deadpool

関連する問題