JSFiddle - React, Tailwind, and code Playground
by Nick Craver
HTML
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/dot-luv/jquery-ui.css">
<form id="sitemap" action="" method="post">
<ol>
<li class="page-title"><label>Page Name: </label><input type="text" name="pages[]" value=""><a class="add_sub_page">+</a></li>
<li class="page-title"><label>Page Name: </label><input type="text" name="pages[]" value=""><a class="add_sub_page">+</a></li>
<li class="page-title"><label>Page Name: </label><input type="text" name="pages[]" value=""><a class="add_sub_page">+</a></li>
<li class="page-title"><label>Page Name: </label><input type="text" name="pages[]" value=""><a class="add_sub_page">+</a></li>
<li class="page-title"><label>Page Name: </label><input type="text" name="pages[]" value=""><a class="add_sub_page">+</a></li>
</ol>
<p><input type="submit" name="submit_step1" value="Next Step"></p>
</form>
CSS
ol { padding-left: 20px; list-style-type: decimal; }
li { padding-left: 10px; }
JavaScript
$('.add_sub_page').live('click',function(e){
$(this).parent(':not(:has(ol))').append('<ol></ol>');
$(this).next().append($(this).parent().clone().children('ol').remove().end());
if($(this).parents('.page-title').length == 2)
$(this).next().find('.add_sub_page').remove();
e.preventDefault();
});