Necesito ayuda lo antes posible. Intenté varias formas de organizar la salida en orden alfabético, pero ninguna de ellas parece funcionar. Se hace la pregunta para organizar la salida en orden alfabético sin cambiar el código base.
El código básico:
function add() { var name = document.getElementById("id-name").value; var address = document.getElementById("id-address").value; var content = document.getElementById("id-content").innerHTML; document.getElementById("id-content").innerHTML = content + name + "<br/>" + address + "<hr/>"; } Name: <input type="text" id="id-name" name="name"><br /> Address: <textarea id="id-address" name="address"></textarea><br /> <button id="id-send" onclick="javascript: add();">Send</button> <hr> <div id="id-content"></div>Este es el ejemplo de la salida que debería mostrar:

Puede mantener una matriz de datos enviados y ordenar la matriz alfabéticamente. Esta solución debería funcionar:
let listOfData = []; function add() { var name = document.getElementById("id-name").value; var address = document.getElementById("id-address").value; var content = document.getElementById("id-content").innerHTML; listOfData.push({ personName: name, personAddress: address }); document.getElementById("id-content").innerHTML = ""; listOfData.sort((a, b) => a.personName.localeCompare(b.personName)); for (let person of listOfData) { document.getElementById( "id-content" ).innerHTML += `${person.personName} <br/> ${person.personAddress}<br/> <hr/>`; } }Podrías crear una matriz y ordenarla
Envolví un formulario para tener un manejo de eventos más simple. Tampoco es necesario javascript: etiqueta en un controlador de eventos en línea
const list = []; // you can get this from localStorage if you want to save across reloads window.addEventListener("DOMContentLoaded", () => { const content = document.getElementById("id-content"), nameField = document.getElementById("id-name"), addressField = document.getElementById("id-address"); const show = () => { list.sort((a, b) => a.name.localeCompare(b.name)) content.innerHTML = list.map(({ name, address }) => `${name}<br/>${address}`).join("<hr/>"); }; document.getElementById("myForm").addEventListener("submit", e => { e.preventDefault(); const name = nameField.value; const address = addressField.value; list.push({ name, address }); show(); }); }); <form id="myForm"> Name: <input type="text" id="id-name" name="name"><br /> Address: <textarea id="id-address" name="address"></textarea><br /> <button id="id-send">Send</button> </form> <hr> <div id="id-content"></div>Usa este código funcionará
function add() { var name = document.getElementById("id-name").value; var address = document.getElementById("id-address").value; let data = document.getElementById("id-content"); let content = data.innerHTML; content = content + name + "<br/>" + address + "<hr>"; let dt = ""; let sortArr = content.split("<hr>").sort().join().split(","); for (let i = 1; i < sortArr.length; i++) { dt += sortArr[i] + "<hr>"; } data.innerHTML = dt; }