根据使用 Javascript 选择的选项显示 Django 表单字段

问题描述 投票:0回答:1

我正在开发一个 Django 项目,我有以下呈现表单的 html 页面。 我对 Javascript 不太了解,我认为我在 Javascript 函数中的某个地方出错了,或者完全是其他地方。 我需要做的是仅当“id_mapnubfunction”的值为“GETDATA”时才渲染“id_mapnubparam01”字段。为了清楚起见,我将 if 条件分成了 2 个,“p”标签的第一个 if 条件工作得很好。然而,使用相同的 if then else 逻辑“id_mapnubparam01”不会执行任何操作。任何帮助表示赞赏。谢谢。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Data</title>
</head>
<body>
    <form method="POST" enctype="multipart/form-data">
            {% csrf_token %}
            {% for field in form %}
                <div class="fieldWrapper">
                    <label>{{ field.label_tag }}</label>
                    {{ field }}
                </div>
            {% endfor %}
        <input type="submit" value="Submit">
    </form>
<p id="demo"></p>

    <script>

    function myFunction() {
      var x = document.getElementById("id_mapnubfunction").value;
      if (x != 'GETDATA') {document.getElementById("demo").innerHTML = "";
                          } else
                          {document.getElementById("demo").innerHTML = "You selected: " + x;
                          }
      if (x != 'GETDATA') {document.getElementById('id_mapnubparam01').hide();
                          } else
                          {document.getElementById('id_mapnubparam01').show();
                          }
    }
    </script>

</body>
</html>
javascript django django-forms
1个回答
0
投票

hide() 是一个 jquery 函数。

如果您正在运行 jquery,则需要将元素视为 jquery 对象:

$('#id_mapnubparam01').hide();

如果你没有运行 jquery,请尝试:

document.getElementById('id_mapnubparam01').style.display = "none"
© www.soinside.com 2019 - 2024. All rights reserved.