javascript - 动态表单创建和添加输入字段
问题描述
我目前正在开发一个项目,它是一个在线测验创建系统,它应该具有让用户创建自己的测验、问题和可能的答案的功能,然后将它们发送给其他用户,以便他们解决测验。我使用 c# 作为后端。我面临的问题是在测验中动态创建问题和可能的答案。我不知道如何创建动态表单,以便用户可以创建问题并添加可能的答案。我希望用户能够创建这样的问题:
问题一:美国第一任总统是谁?
a) 约翰亚当斯
b) 托马斯·杰斐逊
c) 乔治华盛顿
添加答案
创建另一个问题
如果用户决定再添加一个可能的答案,他会按下“添加答案”。当他按下“创建另一个问题”时,它应该创建一个空表单来输入他的问题并添加可能的答案。
问题一:美国第一任总统是谁?
a) 约翰亚当斯
b) 托马斯·杰斐逊
c) 乔治华盛顿
d) 一些总统
添加答案
创建另一个问题
有没有人做过类似的事情?我已经搜索了一段时间,但找不到我需要的东西。我不是在寻找一个完整的代码解决方案,只是一些帮助,所以我可以继续我的项目。
非常感谢您的参与。
解决方案
如果您可以指定是否使用像Angular这样的任何 js 框架,这将更容易提供示例,但由于情况并非如此,我在 vanilla js 中创建了一个相同的函数,这将有助于添加动态字段功能。
function addAnswerFields(){
//Get reference of container and append Text in it
var container = document.getElementById("container");
container.appendChild(document.createTextNode("Answer "));
//Get reference of container and append Input field in it
var input = document.createElement("input");
input.type = "text";
container.appendChild(input);
// Add Br tag to move input fields on next line
container.appendChild(document.createElement("br"));
}
当用户点击创建另一个问题时,会弹出一个字段供他输入答案。此外,建议您可以在该字段的右侧添加一个按钮。单击按钮后,字段将替换为 P 标签或您用来将其显示为答案的任何其他标签。希望这可以帮助!
推荐阅读
- arrays - 如何在Ruby中的重复元素上拆分数组
- python - 代理和包装方法调用的简单而高效的方法
- spring-integration - 如何配置 tcp 服务器以使用 Spring Boot 从多个客户端接收数据?
- java - 无法在 postgresql db 上使用 spring-boot、spring-data-jpa 和休眠空间进行地理空间查询(内部)
- java - 关闭进程导致 input.readLine() 中 CPU 使用率高
- java - 打印某个范围内的素数的代码的复杂性是多少?
- html - SASS/SCSS Sticky 没有任何反应
- spring-boot - Java.lang.ClassNotFoundException:org.kie.api.KieServices$Factory
- ios - 如何在控制器之间快速导航
- bash - 在shell中,获取一列所有行中的最大值并与每一行进行比较