2016-11-04 2 views
1

.csvドキュメントをエクスポートするには、次のフロントエンドコードを使用します。無効にした変更は保存されない可能性がありますポップアップウィンドウ

HTML

<form id="tool-export" method="post" action="export/">{% csrf_token %} 
    <a id="export-link" class="btn btn-sm btn-primary" href="#">DOWNLOAD</a> 
    </form> 

JS

$('#export-link').click(function(e) { 
    e.preventDefault(); 
    var link = $(this); 
    var form = link.closest('form'); 

    var project_id = proj_id.find(":selected").val(); 
    var input = $('<input>').attr('type', 'hidden').attr('name', 'project_id').val(project_id); 
    form.append($(input)); 

    var project_type = proj_type.val(); 
    input = $('<input>').attr('type', 'hidden').attr('name', 'project_type').val(project_type); 
    form.append($(input)); 

    form.submit(); 
    }); 

エクスポートがうまく機能し、私は正しい文書を取得します。また、私はを受け取ることができます。あなたが行った変更は、エクスポートリンクをクリックした後にメッセージが保存されないことがあります。このメッセージを無効にするには?私はそれを見たくない。

enter image description here

+1

変更のhref –

+0

なぜ、この警告が表示されるのかわかりませんが、 'form.submit()'を呼び出した後に 'false false'を返すとうまくいくでしょう。 –

答えて

4

@Dekelはそれを得るために私を助けました。

メッセージはbeforeunloadイベントです。 window.onbeforeunload = null;で無効にすることができます。

JS

$('#export-link').click(function(e) { 
    window.onbeforeunload = null; 
    e.preventDefault(); 
    var link = $(this); 
    var form = link.closest('form'); 

    var project_id = proj_id.find(":selected").val(); 
    var input = $('<input>').attr('type', 'hidden').attr('name', 'project_id').val(project_id); 
    form.append($(input)); 

    var project_type = proj_type.val(); 
    input = $('<input>').attr('type', 'hidden').attr('name', 'project_type').val(project_type); 
    form.append($(input)); 

    form.submit(); 
    }); 
関連する問題