需要创建一个按钮来添加输入区域,并以不同的方式命名div,并且可以使用JavaScript导出它们
好的,基本上我有一个网站,可以接收很多信息,比如说姓名,年龄,体重。。。 在所有输入之后,文本将显示在同一网站的文本区域中。 我需要该网站提供的功能,以增加更多的水平, 例如,单击“添加级别”,会出现一个动态的新输入,允许您添加更多信息。 我面临一个问题,当我用这些输入创建一个新的动态div时,它们都有相同的id,这不允许我单独打印每一个。 我有一个打印结果的函数:需要创建一个按钮来添加输入区域,并以不同的方式命名div,并且可以使用JavaScript导出它们,javascript,jquery,html,css,Javascript,Jquery,Html,Css,好的,基本上我有一个网站,可以接收很多信息,比如说姓名,年龄,体重。。。 在所有输入之后,文本将显示在同一网站的文本区域中。 我需要该网站提供的功能,以增加更多的水平, 例如,单击“添加级别”,会出现一个动态的新输入,允许您添加更多信息。 我面临一个问题,当我用这些输入创建一个新的动态div时,它们都有相同的id,这不允许我单独打印每一个。 我有一个打印结果的函数: <form id="form" action="#"> <script> $("#
<form id="form" action="#">
<script>
$("#form").submit(function(event) {
event.preventDefault();
$("#template").val()...
</form>
$(“#表格”)。提交(功能(事件){
event.preventDefault();
$(“#模板”).val()。。。
简而言之:我需要一种方法来制作一个按钮,它添加一个具有唯一id的新div。内部将有标签输入,标签将在提交时打印出来
希望这足够清楚:)如果我正确理解您的问题,这可能是一种解决方法: HTML
<button id="addLevelBtn">Add a level</button>
<button id="getResultsBtn">Get results</button>
添加一个级别
取得成果
JS
//on click, add a level
$('#addLevelBtn').on('click',addLevel);
//on click, get results
$('#getResultsBtn').on('click',getResults);
//add the first level on load
addLevel();
function addLevel(){
var nbOfSets = $('.setOfInputs').length;
$('#addLevelBtn').before(
'<div class="setOfInputs" id="set-'+nbOfSets+'">'
+'<p>#set-'+nbOfSets+'</p>'
+'<label for="age">Age: </label>'
+'<input type="text" name="age">'
+'<label for="weight">Weight: </label>'
+'<input type="text" name="weight">'
+'</div>');
}
function getResults(){
var result="";
$.each($('.setOfInputs'),function(){
var id = $(this).attr('id');
var age = $(this).find('[name=age]').val();
var weight = $(this).find('[name=weight]').val();
result += id + ' : age = ' + age + ' , weight = ' + weight + '\n';
});
alert(result);
}
//单击,添加一个级别
$('addLevelBtn')。在('click',addLevel');
//单击,获得结果
$('getResultsBtn')。在('click',getResults');
//加载时添加第一级
addLevel();
函数addLevel(){
var nbofset=$('.setOfInputs').length;
$('#addLevelBtn')。之前(
''
+“#集合-”+nbofset+”'
+“年龄:”
+''
+“重量:”
+''
+'');
}
函数getResults(){
var结果=”;
$.each($('.setOfInputs'),function(){
var id=$(this.attr('id');
var age=$(this.find('[name=age]').val();
var-weight=$(this.find('[name=weight]').val();
结果+=id+':年龄='+年龄+',体重='+体重+'\n';
});
警报(结果);
}
是的,很清楚……到目前为止您尝试了什么?在做出任何假设之前,我有几个问题。您称之为“级别”是什么?您尝试添加的这些输入中应该包含什么?当您单击“添加级别”时按钮,它应该打开一组输入行,您可以在其中输入视频的名称、日期和持续时间。这里的要点是让用户添加他想要的视频,并且仍然接收输出中所有视频的所有信息。因此,创建的每个div都包含相同的输入集?它们不能都有相同的id,但它们的id可以随着每次添加而递增。虽然我找不到打印它们的方法,但效果非常好。正如您所看到的,我使用的是JavaScript,似乎找不到打印从这些标签接收到的信息的方法。@Slothmeister我刚刚编辑了我的答案,请查看。耶!太棒了!再次,您愿意吗如果你帮我用一张表格把它打印到一个文本区域,那么表格就没有那么大的用处了,除非你真的把它发送到服务器上,这就是你计划要做的吗?我得承认,你几乎为我整理了这件事:D,为此我非常感激!我一得到你的答案就马上告诉你!非常感谢先生,谢谢你!