Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

166
Vistas
¿Cómo reemplazar todas las cadenas de marcador de posición __prefix__ dentro de Django Formsets elementos de forma vacía usando solo Javascript?

Los conjuntos de formularios de Django tienen un atributo empty_form .

formulario_vacío

BaseFormSet proporciona un atributo adicional empty_form que devuelve una instancia de formulario con un prefijo de __prefix__ para facilitar su uso en formularios dinámicos con JavaScript.

La documentación de Django en realidad no dice cómo reemplazar el __prefix__ con Javascript. Varios ejemplos en línea muestran cómo hacerlo con jQuery, pero específicamente quiero hacerlo con Javascript, no con jQuery .

Aquí está el HTML resultante de mi {{ formset.empty_form }} :

 <div id="prerequisiteEmptyForm"> <input type="text" name="prerequisites-__prefix__-text" maxlength="100" id="id-prerequisites-__prefix__-text"> <label for="id-prerequisites-__prefix__-DELETE">Delete:</label> <input type="checkbox" name="prerequisites-__prefix__-DELETE" id="id-prerequisites-__prefix__-DELETE"> <input type="hidden" name="prerequisites-__prefix__-id" id="id-prerequisites-__prefix__-id"> <input type="hidden" name="prerequisites-__prefix__-content" value="21" id="id-prerequisites-__prefix__-content"> </div>

En todas partes muestra __prefix__ , quiero reemplazarlo con un número... digamos 321 .

Solución correcta:

 <div id="prerequisiteEmptyForm"> <input type="text" name="prerequisites-321-text" maxlength="100" id="id-prerequisites-321-text"> <label for="id-prerequisites-321-DELETE">Delete:</label> <input type="checkbox" name="prerequisites-321-DELETE" id="id-prerequisites-321-DELETE"> <input type="hidden" name="prerequisites-321-id" id="id-prerequisites-321-id"> <input type="hidden" name="prerequisites-321-content" value="21" id="id-prerequisites-321-content"> </div>

Entonces mi pregunta se convierte en

Usando solo Javascript, ¿cómo reemplazo un valor constante ("__prefix__") con otra cosa ("321") en varios elementos (entradas y etiquetas) dentro de múltiples atributos (nombre, id)? Específicamente, quiero hacerlo limpiamente para repetibilidad. No quiero una solución altamente personalizada para este problema específico. Tiene que ser un enfoque general... ya que esto está reemplazando una constante, ¿seguramente Javascript tiene una forma limpia de hacer esto? Todavía estoy aprendiendo Javascript y tratando de no ser tan dependiente de jQuery.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Usé este concepto:

 const emptyForm = document.querySelector('#prerequisiteEmptyForm'); clone = emptyForm.cloneNode(deep=true); clone.innerHTML = clone.innerHTML.replace(/__prefix__/g, '321');
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda