{"id":217,"date":"2026-01-28T22:00:00","date_gmt":"2026-01-28T22:00:00","guid":{"rendered":"https:\/\/elsalto.gob.mx\/?page_id=217"},"modified":"2026-04-23T18:50:27","modified_gmt":"2026-04-23T18:50:27","slug":"quejas-y-denuncias","status":"publish","type":"page","link":"https:\/\/elsalto.gob.mx\/index.php\/quejas-y-denuncias\/","title":{"rendered":"Quejas y denuncias"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p class=\"has-text-align-center\">El H. Ayuntamiento de El Salto pone a su disposici\u00f3n esta secci\u00f3n para hacernos llegar sus quejas o denuncias. La informaci\u00f3n ingresada ser\u00e1 tratada de manera confidencial de acuerdo a nuestro aviso de privacidad.<\/p>\n\n\n\n<!-- Formulario de Quejas y Denuncias -->\n<form id=\"complaintForm\" style=\"max-width: 600px; font-family: inherit;\">\n    \n    <!-- Nombre -->\n    <div style=\"margin-bottom: 20px;\">\n        <label for=\"name\" style=\"display: block; font-weight: bold; color: #333; margin-bottom: 8px; font-size: 16px;\">\n            Nombre <span style=\"color: #e74c3c;\">*<\/span>\n        <\/label>\n        <input \n            type=\"text\" \n            id=\"name\" \n            name=\"name\" \n            placeholder=\"Nombre...\" \n            required\n            style=\"width: 100%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 3px; font-size: 14px; box-sizing: border-box;\"\n        >\n    <\/div>\n\n    <!-- Correo electr\u00f3nico -->\n    <div style=\"margin-bottom: 20px;\">\n        <label for=\"email\" style=\"display: block; font-weight: bold; color: #333; margin-bottom: 8px; font-size: 16px;\">\n            Correo electr\u00f3nico <span style=\"color: #e74c3c;\">*<\/span>\n        <\/label>\n        <input \n            type=\"email\" \n            id=\"email\" \n            name=\"email\" \n            placeholder=\"Correo...\" \n            required\n            style=\"width: 100%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 3px; font-size: 14px; box-sizing: border-box;\"\n        >\n    <\/div>\n\n    <!-- Tel\u00e9fono (adaptado de \"Otro medio de contacto\" ya que el endpoint requiere tel\u00e9fono obligatorio) -->\n    <div style=\"margin-bottom: 20px;\">\n        <label for=\"phoneNumber\" style=\"display: block; font-weight: bold; color: #333; margin-bottom: 8px; font-size: 16px;\">\n            Tel\u00e9fono de contacto <span style=\"color: #e74c3c;\">*<\/span>\n        <\/label>\n        <input \n            type=\"tel\" \n            id=\"phoneNumber\" \n            name=\"phoneNumber\" \n            placeholder=\"Tel\u00e9fono fijo o celular (10 d\u00edgitos)...\" \n            required\n            maxlength=\"10\"\n            pattern=\"\\d{10}\"\n            style=\"width: 100%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 3px; font-size: 14px; box-sizing: border-box;\"\n        >\n    <\/div>\n\n    <!-- Domicilio (opcional - campo extra del endpoint) -->\n    <div style=\"margin-bottom: 20px;\">\n        <label for=\"address\" style=\"display: block; font-weight: bold; color: #333; margin-bottom: 8px; font-size: 16px;\">\n            Domicilio\n        <\/label>\n        <input \n            type=\"text\" \n            id=\"address\" \n            name=\"address\" \n            placeholder=\"Direcci\u00f3n completa (opcional)...\" \n            style=\"width: 100%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 3px; font-size: 14px; box-sizing: border-box;\"\n        >\n    <\/div>\n\n    <!-- Asunto \/ Mensaje -->\n    <div style=\"margin-bottom: 20px;\">\n        <label for=\"message\" style=\"display: block; font-weight: bold; color: #333; margin-bottom: 8px; font-size: 16px;\">\n            Asunto <span style=\"color: #e74c3c;\">*<\/span>\n        <\/label>\n        <textarea \n            id=\"message\" \n            name=\"message\" \n            rows=\"5\" \n            placeholder=\"Explique detalladamente la queja o denuncia...\" \n            required\n            style=\"width: 100%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 3px; font-size: 14px; box-sizing: border-box; resize: vertical;\"\n        ><\/textarea>\n    <\/div>\n\n    <!-- Bot\u00f3n Enviar -->\n    <button \n        type=\"submit\" \n        style=\"background-color: #1e73be; color: white; padding: 10px 20px; border: none; border-radius: 3px; font-size: 14px; cursor: pointer;\"\n    >\n        Enviar\n    <\/button>\n\n    <!-- Mensaje de respuesta -->\n    <div id=\"formResponse\" style=\"margin-top: 15px; font-size: 14px;\"><\/div>\n<\/form>\n\n<!-- JavaScript para manejar el env\u00edo -->\n<script>\ndocument.getElementById('complaintForm').addEventListener('submit', async function(e) {\n    e.preventDefault();\n    \n    const responseDiv = document.getElementById('formResponse');\n    responseDiv.innerHTML = '';\n    \n    \/\/ Validar tel\u00e9fono (10 d\u00edgitos exactos)\n    const phone = document.getElementById('phoneNumber').value;\n    if (!\/^\\d{10}$\/.test(phone)) {\n        responseDiv.innerHTML = '<span style=\"color: #e74c3c;\">El tel\u00e9fono debe contener exactamente 10 d\u00edgitos num\u00e9ricos.<\/span>';\n        return;\n    }\n    \n    \/\/ Preparar datos\n    const formData = {\n        name: document.getElementById('name').value,\n        email: document.getElementById('email').value,\n        phoneNumber: phone,\n        message: document.getElementById('message').value,\n        address: document.getElementById('address').value || undefined\n    };\n    \n    try {\n        \/\/ Reemplazar con la URL real de tu backend\n        const response = await fetch('https:\/\/api.portal.elsalto.gob.mx\/complaints', {\n            method: 'POST',\n            headers: {\n                'Content-Type': 'application\/json',\n            },\n            body: JSON.stringify(formData)\n        });\n        \n        if (response.ok) {\n            responseDiv.innerHTML = '<span style=\"color: #27ae60;\">\u00a1Queja enviada exitosamente! Nos pondremos en contacto contigo pronto.<\/span>';\n            this.reset();\n        } else {\n            const errorData = await response.json().catch(() => ({}));\n            responseDiv.innerHTML = '<span style=\"color: #e74c3c;\">Error al enviar: ' + (errorData.message || 'Por favor intenta de nuevo m\u00e1s tarde.') + '<\/span>';\n        }\n    } catch (error) {\n        responseDiv.innerHTML = '<span style=\"color: #e74c3c;\">Error de conexi\u00f3n. Por favor verifica tu conexi\u00f3n a internet e intenta de nuevo.<\/span>';\n    }\n});\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>El H. Ayuntamiento de El Salto pone a su disposici\u00f3n esta secci\u00f3n para hacernos llegar sus quejas o denuncias. La informaci\u00f3n ingresada ser\u00e1 tratada de manera confidencial de acuerdo a nuestro aviso de privacidad. Nombre * Correo electr\u00f3nico * Tel\u00e9fono de contacto * Domicilio Asunto * Enviar<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-217","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/elsalto.gob.mx\/index.php\/wp-json\/wp\/v2\/pages\/217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elsalto.gob.mx\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elsalto.gob.mx\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elsalto.gob.mx\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elsalto.gob.mx\/index.php\/wp-json\/wp\/v2\/comments?post=217"}],"version-history":[{"count":4,"href":"https:\/\/elsalto.gob.mx\/index.php\/wp-json\/wp\/v2\/pages\/217\/revisions"}],"predecessor-version":[{"id":277,"href":"https:\/\/elsalto.gob.mx\/index.php\/wp-json\/wp\/v2\/pages\/217\/revisions\/277"}],"wp:attachment":[{"href":"https:\/\/elsalto.gob.mx\/index.php\/wp-json\/wp\/v2\/media?parent=217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}