有没有其他方法可以创建具有不同ID的类似表单
Is there another way of creating similar forms with different IDs?
基本上我想复制表单,但我希望它们有不同的ID。我还将使用表单中输入的值,这样它们的ID就必须或多或少相似。因此,一个表单的id为"formA",下一个表单将为"formB"。我的同事建议在IDS中添加一个int值。这就是我所做的
var FormCounter = 1;
function addForms() {
// When the element '#addForm' is clicked then the forms are appended to the formContainer div
$("#addForm").click(function() {
/*
Note: you can add as many forms as you want and each will have a different ID.
Each ID will be unique as each ends with a different Integer.
*/
var formTitle = "<p> Form " + formCounter + "</p>";
// declare your form types here
var formType = "<input type='textField' id='textField" + formCounter + "'</input>";
// append to the formContainer div
$("#formContainer").append(formTitle);
// create a form tag
$("#formContainer").append("<form>");
/*
INSERT FORMS HERE
*/
$("#formContainer").append(formType);
// close form tag
$("#formContainer").append("</form>");
// insert a horizontal line
$("#formContainer").append("<hr>");
++formCounter;
});
}
我目前使用这个代码和一个文本字段。有其他方法吗?之后我想做的是获取字段中输入的值,然后将它们显示在表中。
如果你想复制它们,你可以使用jquery来获取表单,然后通过每个子元素迭代,生成具有相同特征的新元素,但最后建议使用下划线uniq id来更改id。希望这对有帮助
在这个JSFiddle中,它简要地显示了如何添加更多的表单,每个表单都有唯一的id
-,正如您的同事建议的那样-还将计数器值分配给相应表单的输入和按钮,然后增加计数器
var formCounter = 1;
$('#btn').on('click', function(){
$('#formContainer').append('<p>form:' + formCounter + '<form id="f-'+formCounter+'"><input type="text" id="t-'+formCounter+'"><input type="submit" id="s-'+formCounter+'"></form></p>');
++formCounter;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<button id="btn">Add a New Form</button>
<div id="formContainer"></div>
UPDATE: 正如您所要求的另一种方法,此代码使用原始javascript,而不是像上面那样在一个附加行中注入HTML代码,我们在这里创建每个DOM元素并设置其ID并将其子元素附加到它,就像这样JSFiddle
var i = 0, form, labelText, inputText, inputSubmit, btn = document.getElementById("btn");
btn.addEventListener('mouseup', function () {
i++;
form = document.createElement('form');
form.id = 'form' + i;
labelText = document.createElement('label');
labelText.innerHTML = 'form ' + i + ': ';
form.appendChild(labelText);
inputText = document.createElement('input');
inputText.setAttribute("type", "text");
inputText.id = 'text' + i;
form.appendChild(inputText);
inputSubmit = document.createElement('input');
inputSubmit.setAttribute('type', 'submit');
inputSubmit.id = 'sudmit' + i;
form.appendChild(inputSubmit);
document.getElementById("formContainer").appendChild(form);
});
form {
margin:5px;
}
<button id="btn">Add a New Form</button>
<div id="formContainer"></div>
相关文章:
- 使用javascript更改表单元素的ID值
- 表单提交问题,如何在我的URL末尾获得ID的值
- Php,Javascript-动态表单id's和动态验证
- Javascript尽管ID不同,但只有第一个按钮提交给Ajax表单
- 根据单击的元素填充同一页面中的表单,该元素的 ID 由 JSTL 生成
- Jquery无法找到给定表单id的表单输入
- 如何在 javascript 中将表单中的元素 id 值作为数组传递
- Javascript:表单验证getElementById仅返回第一个id元素
- 网页表单 |始终使用 Id 进行访问
- 通过 AJAX 为每个 ID 提交表单
- 如何在不重新加载的情况下在表单编辑中更改主键后刷新jqgrid行id
- 如何使表单类而不是id的序列化工作
- 无法调用方法“”;getEditResponseUrl"当使用表单ID打开表单时,绑定到工作表的Google
- Mootools提交表单仅在通过ID选择表单时有效
- 修改序列化表单函数以获取输入ID而不是名称
- 如何创建表单输入框的id
- 使用JavaScript/Jquery在Ruby中显示具有相同id/类的表单
- 如何使用Google Analytics Dimensions在多个表单页面上跟踪用户ID
- 具有更改表单ID的选择器
- 如何在phonegap android中动态应用id表单