+34 650908608 [email protected]
Onclick Divi
divi modulo codigo contenido
Bienvenidos un dia más al blog de CreandoWp, si has bucado en google “Divi crear funcion onlick”, “divi no se ha podido guardar” o “divi logica condicional javasript” estás en el sitio indicado. Solo tenemos que añadir este codigo :

<script>

document.getElementById(“bt_contacto_comercial”).addEventListener(“click”, function() {
document.getElementById(“et_pb_contact_motivo_0”).value= “Contacto Comercial”;
});
</script>

 

 

Estos son los pasos que vamos a seguir:

1.- Añadir el codigo modulo de divi

2.- Seleccionar los ids de nuestros elementos.

3.- Insertar la funcion javascript teniendo en cuenta nuestros ids.

Dentro de nuestra página nos vamos a “editar con divi ” insertar modulo codigo. Como ves en la siguiente imagen.

divi nuevo modulo codigo
divi modulo codigo contenido
En ese cuadro negro es donde vamos a insertar en divi conlick javascript, para poner un codigo de javascript necesitamos abrir (con la etiqueta <script>) y cerrarla después del codigo (con la etiqueta </script>).

<script>

document.getElementById(“bt_contacto_comercial”).addEventListener(“click”, function() {
document.getElementById(“et_pb_contact_motivo_0”).value= “Contacto Comercial”;
});
</script>

El objetivo de este codigo es que cuando se hace click en el elemento con el id “bt_contacto_comercial” que en mi caso es un botón, se ejecute la funcion y cambie el valor del elemento con id “et_pb_contact_motivo_0” para modificar valor formulario divi a  “Contacto Comercial”.

chrome herramientas desarrollador
Vamos al navegador( en mi caso Google Chrome) y presionamos F12 para ver las herramientas de desarrollador, nos aparece el panel lateral, en la parte superior hay una flecha que nos sirve para localizar los elementos de nuestra web y sacar el Id del elemento que vamos a necesitar, el acceso rápido es “Ctrl + Shift + C”.
Seleccionamos el elemento que queremos revisar para sacar el id que posteriormente vamos a utilizar en nuestra función.
chrome seleccionar elemento
chrome localizar id de elemento
He amplicado la imagen para que se pueda ver mejor el id del elemento, en mi caso “et_pb_contact_motivo_0”
Voy a explicar un poco sobre el codigo :

 

document.getElementById("bt_contacto_comercial").addEventListener("click", function() {

Esto significa que cogemos el elemento de nuestra página con el id “bt_contacto_comercial”, cuando hagamos la acción “click” se va a ejecutar una acción, esa acción es lo que hay dentro de la funcion , es decir, lo que hay después de {

document.getElementById("et_pb_contact_motivo_0").value= "Contacto Comercial";
});

Dentro de la función vamos a coger el elemento de nuestra página con el id “et_pb_contact_motivo_0” y vamos a cambiar su valor al texto “Contacto Comercial”.

Si queréis saber más sobre .addEventListener os recomiendo echar un vistazo a https://www.w3schools.com/JSREF/met_element_addeventlistener.asp

Tenéis tutoriales muy bien explicados sobre html, CSS y Javascript.

También podéis revisar la información para seleccionar un valor dentro de un elemento de de formulario.

https://www.w3schools.com/jsref/prop_select_value.asp

 

 

 

 

Cuando intenté guardar el modulo codigo de Divi me dió el siguiente error:

divi no se ha podido guardar

Esto se debe a que tengo el plugin de Wordfence instalado que protege de posibles problemas como insertar codigo malicioso de javascript. Lo que hay que hacer es darle a guardar y os aparecerá una pantalla para permitir que se pueda ejecutar, lo que se llama meter en la lista blanca “whitelist”. De esta manera os quedará todo funcionando y podréis guardar.

 

divi no se ha podido guardar
error whitelist
Este es el mensaje para permitir que se pueda ejecutar la función , le dáis a la opción de Whitelist this action y guardáis.
El otro problema cuando se ejecutar el modulo codigo de Divi es que si los elementos que has incluido en el en la funcion onclick javascript estás posicionados más abajo de la página te puede dar el error de :

Uncaught TypeError: Cannot read property  ‘addEventListener’ of null.

Por lo que hay que insertar divi modulo codigo más abajo de los elementos con los que quieras jugar.

Me explico, estamos intentando modificar mediante javascript algo que existe en la página web, cuando la web se empieza a cargar lee el codigo javascript y se vuelve loca cuando encuentra nuestra función de javascript porque los elementos con el id que le hemos puesto no existen todavia , no han sido cargados por la web y en ese momento los considera como Null. Es tan simple como poner el codigo modulo divi después de los elementos que queremos modificar, en mi caso le decimos al botón que cuando se haga click vaya al formulario de más abajo y cambie el texto de uno de los campos. Si yo pongo el modulo codigo divi antes de cualquiera de estos dos elementos me va a salir el error. Así que lo pongo después de esos elementos.

 

code module error null
modulo codigo despues de formulario