Django的脆皮形式 - 通过助手添加按钮(Django Crispy Forms - Add B

2019-09-16 12:39发布

我学的是脆皮形式的文档,我试图把一个额外的按钮,进入我的形式之一。 同

self.helper.add_input(Button('back', "Back", css_class='btn'))

我可以添加一个漂亮的按钮。 但按钮()不会采取一个onclick或on_click属性。 所以,我怎么可以添加逻辑来此按钮? 添加与jQuery onclick事件心不是一个非常好的解决方案...

谢谢!

罗恩

Answer 1:

这不包括在默认情况下(据我所知..)。 如果你只需要这个曾经,可以使用脆皮HTML表单的布局对象

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')


Answer 2:

是否确定按钮将不会在其kwargs的onclick走?

我只是说一个onclick="javascript here"Submit()元素,它显示的罚款。

我也盯着一个位在底层代码,而且我认为在默认情况下所有输入压扁未因特殊用途(即模板)杀出kwargs,并通过将那些经过渲染的HTML。 这可能是新的,因为四月'12(当最初发布),但目前似乎是作为下面简单:

self.helper.add_input(Button('back', "Back", css_class='btn', onclick="alert('Neat!');"))


文章来源: Django Crispy Forms - Add Button via Helper