0

JavaScript:

$("#id_report").on('change', function() {
   var reportform = document.getElementById("status-form");
   var live = document.getElementById("id_report");
   if (live.checked == true){
    reportform.submit();
   }
  });

フォーム.py

class Reportform(Form):
    report = forms.BooleanField(widget=forms.CheckboxInput(),required=False, label="Report",initial=True)

template.html

<form action="." id="status-form" method="POST">{% csrf_token %}
  <p>{{closedreport.report}}Show Reports</p>
  </form>

チェックボックスがオンの場合にフォームを送信したい.デフォルトではチェックボックスがオンになっていますが、フォームが送信されません.

4

2 に答える 2

1

これを試して:

$("#id_report").click(function(){
    if($(this).is(':checked'){
        $("#status-form").submit();
    }
});

ボタンがクリックされると、スクリプトはチェックボックスがチェックされているかどうかをチェックします。その場合は、フォームを送信してください。

于 2013-08-02T11:57:21.690 に答える
1

フォームをすぐに送信するには (フォームがロードされているページのときにそれを実行したいと思っていると思います)、次のようにします。

// Wait for document to load
$(function(){
    // Check if your checkbox is indeed checked
    if($('#id_report').is(':checked'){
        // Submit the form
        $("#status-form").submit();
    }
});

または、次のようにすることもできます。

$(function(){
    $("#status-form").on('change', '#id_report', function() {
        var reportform = document.getElementById("status-form");
        var live = document.getElementById("id_report");
        if (live.checked == true){
            reportform.submit();
        }
    }).trigger('change');
});
于 2013-08-02T12:26:45.350 に答える