每次加载DjangoForm时调用js函数?

5jvtdoz2  于 2023-02-14  发布在  Go
关注(0)|答案(1)|浏览(138)

我有下一个表格:

class ExampleForm(forms.ModelForm):
  class Meta:
     model = ExampleModel
     fields = ['field1', 'field2', 'field3']
     widgets = {'field1': forms.Select(attrs={'onchange': 'onchangeJsFunction()'})}

到目前为止,我已经能够为我的选择字段添加onchange属性,该属性在每次更改“field1”值时调用“onchangeJsFunction()”。我的下一个目标是添加一个函数,该函数将在每次加载表单时执行,但我不确定该如何操作。我尝试过以这种方式为输入字段添加onload属性:

...
widgets = {'field_2': forms.TextInput(attrs={'onload': 'onloadJsFunction();'})}
...

但是到目前为止还没有给予任何结果。
我该如何在每次Django窗体加载时执行某个JS函数?

enyaitl3

enyaitl31#

根据您正在使用引导模式的评论-您可以向显示代码时运行代码的模式添加事件侦听器
在 Bootstrap 4(jquery)中

$('#myModal').on('shown.bs.modal', function () {
 //onloadJsFunction() or similar
})

在 Bootstrap 5中

var myModal = document.getElementById('myModal')

myModal.addEventListener('shown.bs.modal', function () {
  ////onloadJsFunction() or similar
})

(从 Bootstrap docs调整)

相关问题