Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要创建一个按钮来添加输入区域,并以不同的方式命名div,并且可以使用JavaScript导出它们_Javascript_Jquery_Html_Css - Fatal编程技术网

需要创建一个按钮来添加输入区域,并以不同的方式命名div,并且可以使用JavaScript导出它们

需要创建一个按钮来添加输入区域,并以不同的方式命名div,并且可以使用JavaScript导出它们,javascript,jquery,html,css,Javascript,Jquery,Html,Css,好的,基本上我有一个网站,可以接收很多信息,比如说姓名,年龄,体重。。。 在所有输入之后,文本将显示在同一网站的文本区域中。 我需要该网站提供的功能,以增加更多的水平, 例如,单击“添加级别”,会出现一个动态的新输入,允许您添加更多信息。 我面临一个问题,当我用这些输入创建一个新的动态div时,它们都有相同的id,这不允许我单独打印每一个。 我有一个打印结果的函数: <form id="form" action="#"> <script> $("#

好的,基本上我有一个网站,可以接收很多信息,比如说姓名,年龄,体重。。。 在所有输入之后,文本将显示在同一网站的文本区域中。 我需要该网站提供的功能,以增加更多的水平, 例如,单击“添加级别”,会出现一个动态的新输入,允许您添加更多信息。 我面临一个问题,当我用这些输入创建一个新的动态div时,它们都有相同的id,这不允许我单独打印每一个。 我有一个打印结果的函数:

<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,为此我非常感激!我一得到你的答案就马上告诉你!非常感谢先生,谢谢你!