Por favor, ingresa tus datos para continuar.

Importante:

Asegúrate de que la información sea correcta, ya que cualquier error podría afectar la precisión del cálculo.

horoscopo_diario
// Marca para comprobar que el script carga console.log("🔥 Horoscopante: JS inyectado en el form"); document.addEventListener("DOMContentLoaded", () => { const dobInput = document.getElementsByName('dob')[0]; const tobInput = document.getElementsByName('tob')[0]; const placeInput = document.getElementsByName('birthplace')[0]; const latInput = document.getElementsByName('lat')[0]; const l'lon')[0]; const form = placeInput.closest('form'); const submitBtn = form.querySelector('button[type=submit], input[type=submit]'); // UI de búsqueda placeInput.insertAdjacentHTML("afterend", `
`); const btn = document.getElementById("search-place"); const select = document.getElementById("place-options"); const err = document.getElementById("place-error"); // Control de habilitado function updateSubmit() { const ok = dobInput.value.trim() && tobInput.value.trim() && latInput.value.trim() && lonInput.value.trim(); submitBtn.disabled = !ok; } submitBtn.disabled = true; [dobInput, tobInput, placeInput, latInput, lonInput].forEach(el => el.addEventListener('input', updateSubmit) ); select.addEventListener('change', updateSubmit); // Al tipear borramos coords placeInput.addEventListener('input', () => { latInput.value = ""; lonInput.value = ""; err.textC; select.style.display = "none"; updateSubmit(); }); // Errores function showError(msg) { err.textC select.style.display = "none"; } function clearError() { err.textC; } // Guarda en localStorage function guardarDatosUsuario() { localStorage.setItem("datosUsuario", JSON.stringify({ dob: dobInput.value.trim(), tob: tobInput.value.trim(), birthplace: placeInput.value.trim(), lat: latInput.value.trim(), lon: lonInput.value.trim() })); } // Carga inicial const datos = JSON.parse(localStorage.getItem("datosUsuario") || ""); dobInput.value = datos.dob || ""; tobInput.value = datos.tob || ""; placeInput.value = datos.birthplace || ""; latInput.value = datos.lat || ""; lonInput.value = datos.lon || ""; updateSubmit(); [dobInput, tobInput].forEach(el => el.addEventListener('input', guardarDatosUsuario) ); // Búsqueda Nominatim btn.addEventListener("click", () => { clearError(); select.innerHTML = ""; select.style.display = "none"; const q = placeInput.value.trim(); if (q.length r.json()) .then(list => { btn.textC; if (!list.length) return showError("No encontramos esa ciudad."); list.forEach(item => { const o = document.createElement("option"); o.value = `${item.lat}|${item.lon}`; o.text = item.display_name; select.appendChild(o); }); select.style.display = "block"; }) .catch(() => { btn.textC; showError("Error conectando con Nominatim."); }); }); // Selección de ciudad select.addEventListener("change", () => { const [la, lo] = select.value.split("|"); placeInput.value = select.options[select.selectedIndex].text; latInput.value = la; lonInput.value = lo; select.style.display = "none"; clearError(); guardarDatosUsuario(); updateSubmit(); }); // Envío de formulario form.addEventListener("submit", e => { if (submitBtn.disabled) { e.preventDefault(); return showError("Completa fecha, hora y selecciona tu ciudad."); } // Aquí metes tu fetch a la API, historial y redirección… console.log("✅ Enviando formulario con datos:", { dob: dobInput.value, tob: tobInput.value, birthplace: placeInput.value, lat: latInput.value, lon: lonInput.value }); }); });