我正在尝试让这个模式正常工作。我有一个带有 SQLite 数据库和一些 JavaScript 代码的简单 Flask Web 应用程序,用于使用模态向表中添加新行。
一切正常,只要 table 上不再有一行。如果表格是空的,我将无法再打开模式。如果至少有一行,则模态窗口可以正常工作并正确打开。
我已将代码上传到此处:https://jsfiddle.net/bq4seprt
我已尝试调试错误并收到以下错误消息:
Uncaught TypeError: Cannot read property 'style' of null at HTMLButtonElement.btn.<computed>.onclick
在线:
modal.style.display = "block";
最佳答案
代码中需要注意的几点
您不需要条件语句 {% for row in rows %}
来为您添加的每个元素创建一个新模式。使用 {% for row in rows %}
条件,当表为空时没有模式类可供选择,因此模式为空。
您需要做的是删除当前模式的条件语句,从您的表单中获取数据,然后将新数据添加到您的 sqlite 中。您可以使用关闭按钮将模态显示设置为无,然后使用模态按钮将显示更改为阻塞。您正在使用 flask ,所以我假设您已经拥有从表单获取数据并将它们添加到您的 sqlite 数据库的代码。所有你需要使用 javascript 的是显示和隐藏模态
同样对于在你的代码中只存在一次的类,你不需要querySelectorAll,而是使用querySelector
关于javascript - 表格为空时 Flask Modal 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58683836/