Pregunta:
Estaba intentando llamar a drupal_add_js
en la devolución de llamada de un botón. Parece, incluso con after_build, que esto se puede hacer con éxito solo si está trabajando sin datos en caché.
Entonces, antes de comenzar la página, ejecuto drupal_flush_all_caches
y el javascript se agrega correctamente a la página.
El problema es que quiero obtener algunos datos de entrada del usuario de un formulario, pasar al javascript y mostrar el resultado. De la forma en que intento hacerlo, es obtener una cadena que contiene los valores procesados y concatenarla con otra cadena que contiene la otra parte del javascript (probablemente esta no sea una buena práctica) y llamar a esta cadena con drupal_add_js
. Pero, cuando llamo a drupal_flush_all_caches
, el formulario se restablecerá y no podré obtener los datos.
Entonces, mis preguntas son: ¿Cómo puedo pasar valores de un formulario a un javascript?
¿Necesito vaciar todos los cachés cada vez para usar drupal_add_js
?
¿Existen diferentes soluciones para lidiar con esto durante el desarrollo y la producción?
Gracias por la ayuda chicos. Encontré algunas respuestas: ¿Cómo puedo pasar valores de un formulario a un javascript? Tuve que nombrar mi variable como Drupal.settings.myModule.myVar
en el código javascript. De esta manera puedo pasar variables desde el código php a javascript. Si desea modificar el código javascript, realmente necesita vaciar los cachés. Hasta ahora, no he encontrado nada sobre las diferencias entre las mejores prácticas de producción y desarrollo.
Respuesta:
¿Hay algún problema con escribir una devolución de llamada de menú que haga esto y procesar en PHP?
Si debe utilizar JavaScript para el procesamiento, ¿por qué no interceptar el valor del usuario en JavaScript y nunca enviar "realmente" el formulario?