$('#saddsite').on('submit', function(e){
e.preventDefault()
var data = new FormData();
а далее просто собрать поля, которые нужно оправить (те поля формы, которые имеют имя, то есть не требующие отправки их не должны иметь, та же кнопка submit к примеру.)
$.each(this.elements, function() {
if(this.name) data.append(this.name, this.value)
});
разбрасывать все отдельно на два цикла нет ни какого смысла, единственно, что нужно сделать, так это проверить тип поля, и если это файл, то добавлять только в том случае, если файл выбран, то есть его value не пусто.
PS. То есть полно это так:
$('#saddsite').on('submit', function(e){
e.preventDefault()
var data = new FormData();
$.each(this.elements, function() {
if(this.name) {
if(this.type=='file' && this.value) data.append(this.name, this.files[0]);
else data.append(this.name, this.value);
}
});
//если и это нужно form = 'addsite';, то
data.append('form', this.id);
$.ajax(
//....
)
});
Касаемо id юзера, чего там придумывать - отдавая страницу клиенту, помещайте в форму поле <input type="hidden" name="user" value="<?=$id>">.