有没有办法让我有一个HTML表单,我可以在其中有一个按钮,当网站的用户单击该按钮时,会出现一个列表供他们使用,然后可以在旁边输入一些文本,这可以多次工作?(编辑我的意思是,我希望选择一天和输入文本的整个过程能够多次运行,通过单击按钮)
到目前为止,我的代码有一个按钮和一个可供选择的下拉列表,但我不确定如何将它们组合在一起多次工作。
<br><label for='odays'> Open Days: </label><br>
<input type='button' onclick='' value='Add Day'><br>
<select id='odays'name='odays'>
<option value='monday'> Monday </option>
<option value='tuesday'> Tuesday </option>
<option value='wednesday'> Wednesday </option>
<option value='thursday'> Thursday </option>
<option value='friday'> Friday </option>
<option value='saturday'> Saturday </option>
<option value='sunday'> Sunday </option>
</select>到目前为止,这是我的代码
编辑:为了澄清,这是我想要的最终结果:End Result我希望我能做到,这样当用户单击“添加日期”按钮时,它会在下面创建另一行,供他们选择日期并写入文本输入。如果它有帮助的话,这一点的背景是,它是为一个企业的开放时间。如果答案尽可能简单,我将不胜感激,因为我是HTML和JS的新手
发布于 2020-11-16 08:43:51
你可以这样做:
document.querySelector('#newEvent').addEventListener('click', function() { // when "add day" clicked:
let chosenDay = odays.selectedOptions[0].value; // take the selected option from select box
document.querySelector('#newNote legend').textContent += ' '+chosenDay; // Here i use it as title but you can do what you want
document.querySelector('#newNote input').removeAttribute('disabled'); // since we disabled it initialy
document.querySelector('#newNote').removeAttribute('style'); // show input ready for note
});<form>
<fieldset>
<legend>My Calendar</legend>
<label for='odays'> Open Days: </label>
<input type='button' id="newEvent" value='Add Day'><br>
<select id='odays'name='odays'>
<option value='monday'> Monday </option>
<option value='tuesday'> Tuesday </option>
<option value='wednesday'> Wednesday </option>
<option value='thursday'> Thursday </option>
<option value='friday'> Friday </option>
<option value='saturday'> Saturday </option>
<option value='sunday'> Sunday </option>
</select>
</fieldset>
<fieldset id="newNote" style="display: none;">
<legend>Note For</legend>
<input type="text" placeholder="add some text" disabled>
<button type="submit">Submit</button>
</fieldset>
</form>
发布于 2020-11-16 08:59:17
您也可以使用提示框
let daysPlan = "";
function updateMyday() {
var selectBox = document.getElementById("odays");
var div = document.getElementById("daysUp");
//var selectOption = selectBox.options[selectBox.selectedIndex];
var selectedValue = selectBox.options[selectBox.selectedIndex].value;
event = window.prompt("what's up that day ?");
// to show on the page somewhere
var newDay = document.createElement("div");
newDay.textContent = selectedValue + " : " + event;
div.appendChild(newDay);
// end show
// store it , a variable, a localstorge, else ?
daysPlan += selectedValue + " : " + event + "\n"
console.log(daysPlan) // to use and send once submitting
}#odays {
display: none;/* not sure i understood that part*/
}
form {
float: left;
}
#daysUp {
white-space: pre;
}<form><label for='odays'> Open Days: </label><br>
<input type='button' onclick='let e =document.getElementById("odays"); e.style.display="block";' value='Add Day'><br>
<select id='odays' name='odays' onchange="updateMyday()">
<option>Choose a day </option>
<option value='monday '> Monday </option>
<option value='tuesday '> Tuesday </option>
<option value='wednesday'> Wednesday </option>
<option value='thursday '> Thursday </option>
<option value='friday '> Friday </option>
<option value='saturday '> Saturday </option>
<option value='sunday '> Sunday </option>
</select>
</form>
<div id="daysUp">
</div>
https://stackoverflow.com/questions/64851031
复制相似问题