我研究了 Crispy-Forms 文档,并尝试在我的一个表单中添加一个额外的按钮。和
self.helper.add_input(Button('back', "Back", css_class='btn'))
我可以添加一个漂亮的按钮。但是 Button() 不会采用 onclick 或 on_click 属性。那么如何为这个按钮添加逻辑呢?使用 JQuery 添加 onclick 事件不是一个很好的解决方案......
谢谢!
罗恩
我研究了 Crispy-Forms 文档,并尝试在我的一个表单中添加一个额外的按钮。和
self.helper.add_input(Button('back', "Back", css_class='btn'))
我可以添加一个漂亮的按钮。但是 Button() 不会采用 onclick 或 on_click 属性。那么如何为这个按钮添加逻辑呢?使用 JQuery 添加 onclick 事件不是一个很好的解决方案......
谢谢!
罗恩
您确定 Button 不会在其 kwargs 中使用 onclick 吗?
我刚刚onclick="javascript here"
向一个Submit()
元素添加了一个,它显示得很好。
我还仔细研究了底层代码,我认为默认情况下所有输入都会展平由于特殊用途(即模板)而未弹出的 kwarg,并将它们传递到呈现的 HTML 中。这可能是自 12 年 4 月(最初发布时)以来的新内容,但目前似乎很简单,如下所示:
self.helper.add_input(Button('back', "Back", css_class='btn', onclick="alert('Neat!');"))
默认情况下不包括在内(afaik ..)。如果你只需要一次,可以使用crispy-forms HTML Layout Object
HTML('<input type="button" name="Save" onclick="do_whatever" />')
那么你不喜欢使用 jQuery 吗?您可以使用以下方法来处理这个相当简单和通用的问题:
$('form :submit.ajax_submit').live('click', function(e) {
e.preventDefault();
var my_form = $(this).parents('form');
// do whatever
alert(my_form.attr('id'));
alert(my_form.attr('action'));
});
然后就通过课程:
Submit('save', 'save', css_class='ajax_submit')