在bootstrap Modal中打开Django模板

时间:2014-10-29 18:39:53

标签: javascript jquery django twitter-bootstrap

我试图在Twitter-Bootstrap Modal中打开Django模板。之前我使用JavaScript做过,但只开了一次。

我在某地读过Bootstrap Modals更可定制,所以尝试一下,我提到already answered question。我遇到了同样的问题,我尝试过相同的解决方案,但它对我没有用。我唯一得到的就是黑屏。

流程如下:

  • 呈现一个Django模板,其中包含多个工作人员的详细信息。
  • 在该模板中,我已经链接到"添加提前"为每个工人。
  • 点击我要打开Modal。
  • 在该Modal中,我想打开另一个包含a的Django模板 形式。
  • 填写表格,关闭或按回车。
  • 对于Modal上的任何此类事件,请保存表单中的数据。

我所做的就是:

点击链接的模板: form.html

<a class="contact" href="#" data-form="/popupadvance/?worker_id={{value.worker_id}}&year={{year}}&month={{month}}" title="Advance"> Add advance</a>
<div class="modal hide" id="contactModal">

<script>
  $(".contact").click(function(ev) { // for each edit contact url
    ev.preventDefault(); // prevent navigation
    var url = $(this).data("form"); // get the contact form url
    alert(url);
    $("#contactModal").load(url, function() { // load the url into the modal
        $(this).modal('show'); // display the modal on url load
    });
    return false; // prevent the click propagation
})
</script>

应打开的模板: popup.html

<div class="modal hide" id="contactModal">
<form id="form" class="well contact-form" action='/popupadvance/?worker_id={{value.worker_id}}&year={{year}}&month={{month}}' >
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">×</button>
    </div>
    <div class="modal-body">
        {% csrf_token %}
        {{worker_id}} <br />
        {% for a in old_advances %}
        {{a.advance_amount}} {{a.advance_date}}<br />
        {% endfor %}
        <input type="integer" id="popupadvance_{{worker_id}}" placeholder="Advance ++" class="popupadvance" >
    </div>
    <div class="modal-footer">
        <input class="btn btn-primary" type="submit" value="Save" />
        <input name="cancel" class="btn" type="submit" value="Cancel"/>
    </div>
</form>

点击链接:&#34;添加预付&#34;,我唯一得到的是警报我已经添加了关闭,我得到了模糊屏幕,模态应该出现但不是模态,也不是表格在那里呈现。但是在浏览器上按下前进按钮,我会在新页面上显示popup.html,这可能会告诉URL正在点击链接,但只有Modal不会打开。

我想告诉我们pupup.html中的输入字段能够使用OnChange事件将数据保存到数据库,就像我在使用JavaScript打开对话框时那样。

任何帮助找到问题都将不胜感激。因为我没有在浏览器控制台上看到任何错误。

感谢。

0 个答案:

没有答案