【发布时间】:2018-11-27 21:39:46
【问题描述】:
我正在尝试制作一个带有预设下拉菜单的 HTML 表单。表单是为了经常使用,所以预设菜单是为了帮助用户选择常用的输入选项。
我在任何地方都找不到任何关于如何做到这一点的教程,所以我希望有人能指出我正确的方向。如果可能,我不想使用任何外部库。
通过预设下拉菜单,我的意思是这样的:
var lastPreset = "preset1";
function previousPreset(element) {
lastPreset = element.value;
}
function updatePresets(element) {
var old = document.getElementById(lastPreset);
if (old) {
old.style.display = "none";
for (var i = 0; i < old.childNodes.length; i++) {
old.childNodes[i].required = false;
}
}
var preset = element.value;
var div = document.getElementById(preset);
if (div) {
div.style.display = "block";
for (var i = 0; i < div.childNodes.length; i++) {
div.childNodes[i].required = true;
}
}
lastPreset = preset;
}
function submitted() {
console.log("Submitted!");
return false;
}
#preset2, #preset3 {
display: none;
}
<form onsubmit="return submitted();">
<select onchange="updatePresets(this);" onfocus="previousPreset(this);">
<option selected value="preset1">Preset 1</option>
<option value="preset2">Preset 2</option>
<option value="preset3">Preset 3</option>
</select>
<div id="preset1">
<textarea required placeholder="Sample Text"></textarea>
</div>
<div id="preset2">
<input type="text">
</div>
<div id="preset3">
<input type="file">
</div>
<input type="submit" value="Submit">
</form>
这只是我在几分钟内制作的一个乱七八糟的东西,以展示我想要实现的那种行为。我只是在寻找有关如何执行此类操作的任何教程或指南。似乎有人以前会尝试过。
感谢您的回复!
【问题讨论】:
标签: javascript html forms select input