Можно создать "виртальный" dom element из Респонса и оттуда выдернуть то что нужно, типа
var virtualDomElement = document. createElement('div'); // или var virtualDomElement = document.createDocumentFragment();
virtualDomElement.innerHTML = r.responseText;
target.appendChild(virtualDomElement.getElementById('login-form'));
vkdv: насколько я понял, у DocumentFragment нет обычных свойств DOM-узлов, таких как innerHTML
Но решение нашлось такое
function fragmentFromString(strHTML) {
return document.createRange().createContextualFragment(strHTML);
}
var login = fragmentFromString(resp).getElementById('login-form');
document.getElementById('elem').appendChild( login );