我正在开发一个 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>
hide() 是一个 jquery 函数。
如果您正在运行 jquery,则需要将元素视为 jquery 对象:
$('#id_mapnubparam01').hide();
如果你没有运行 jquery,请尝试:
document.getElementById('id_mapnubparam01').style.display = "none"