現状で入力の有無にかかわらず
2回めの入力で追加をすると
全て上書きになって1回めに入力した値は消えてしまいます

2回め以降入力の際、追加をするとき
値が入力されてたら飛ばして次を追加したいです

<script>
var num=1;
function addrow(obj){
  var n=obj.parentNode.parentNode.firstChild;
  var flg=true;
  while(n){
    if(n.nodeName=="DIV"){flg=false; break;}
    n=n.nextSibling;
  }
  if(flg) return false;
  var row=n.cloneNode(true);
  var n=row.firstChild;
  var flg=false;
  while(n){
    if(n.nodeName=="#text" && n.nodeValue.match(/.*\:/)){
      n.nodeValue=n.nodeValue.replace(/(.*)\:/,"$1"+ num +":");
      flg=true;
    }
    n=n.nextSibling;
  }
  if(flg) num++;
  obj.parentNode.parentNode.insertBefore(row,document.getElementById('div_submit'));
}
</script>

<?php
$name = $_POST["name"];

for($i=0;$i<=100;$i++){
    if($name[$i]){
        echo '名前'.$i.'<div class="div1"><input type="text" value="'.$name[$i].'"></div>';
    }
}
?>
<form method="post" action="./test2.php">
<div class="div1">名前:<input type="text" name="name[]"></div>
<div id="div_submit"><input type="button" value="追加" onclick="addrow(this)"></div>
<input type="submit" value="送信">
</form>