我正在尝试创建一个带有预设下拉列表的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>
这只是我在几分钟内做的一个糟糕的事情,以展示我正在努力实现的行为。我只是在找关于如何做这类事情的任何教程或指南。好像有人以前也试过。
感谢您的回复!