Pasar variable js a twig.

411 views
Skip to first unread message

JHONATHAN MEJIA

unread,
Feb 15, 2019, 4:19:39 PM2/15/19
to symfony-es
Hola amigos como están tengo una pregunta.

Estoy obteniendo el id de un select mediante js y lo que quiero es llamar a una funcion buscar proveedor para obtener los datos del mismo.

pero no se si es posible incrustar la variable js a Twig

<script>
        var prove = document.getElementById('prove');
        prove.addEventListener('input', function () {
            var error = true;
            try {
                //Si sólo tiene números y signos + - * / ( )
                if (/^[\d().]+$/.test(prove.value)) {
                   
                var id=prove.value; //variable js con el id del select

                var datos='{{busquedaproveedores('id')}}'; //funcion buscar que es de una extension twig
                    datos=datos.replace("id",id);        
                    alert(datos);
                    error = false;
                }
            } catch (err) {
            }
            if (error) { 
                $('#pvp').val('');
            }
        });
    </script>   


Hay como realizar este proceso, o como le harían ustedes amigos.

Yoel Velasquez Valencia

unread,
Feb 15, 2019, 5:24:46 PM2/15/19
to symfo...@googlegroups.com
Haber haber ordenare un poco,  ese licuado que estas preparando lleva mal sabor ^^.


Si quieres obtener datos del servidor partiendo de un combo html a través de javascript.

Te recomiendo hacerlo con ajax. 

En tu controlador agregas un method para esto y retorna los datos de tu proveedor con el id que pasaste por parámetro. 

Las funciones adicionales en twig son para cosas puntuales. Colo lo que hiciste en correos anteriores... 

Saludos. 








--
--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Google Groups.
Para publicar en este grupo, envía un email a symfo...@googlegroups.com
Para darte de baja, envía un email a symfony-es+...@googlegroups.com
El resto de opciones puedes encontrarlas en http://groups.google.com/group/symfony-es?hl=es

---
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a symfony-es+...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

JHONATHAN MEJIA

unread,
Feb 15, 2019, 5:38:04 PM2/15/19
to symfony-es
Ohhh.. muchas gracias por la recomendación. lo estoy haciendo de la manera que me dices por medio de ajax.

Pero es posible pasar una variable js a un {{path}} o a un {% set %} ??

Yoel Velasquez Valencia

unread,
Feb 15, 2019, 5:39:49 PM2/15/19
to symfo...@googlegroups.com
No, estas mesclando papa con camote. 

JHONATHAN MEJIA

unread,
Feb 15, 2019, 5:49:26 PM2/15/19
to symfony-es
jejejjeje... gracias amigo por los consejos.

Nicolas Esteban

unread,
Feb 18, 2019, 8:58:37 AM2/18/19
to symfony-es
Coincido con Yoelkj, estas mezclando de todo un poco y tenes que implementar ajax. Quedaria algo asi:

<script>
        var prove = document.getElementById('prove');
        prove.addEventListener('input', function () {
            var error = true;
            try {
                //Si sólo tiene números y signos + - * / ( )
                if (/^[\d().]+$/.test(prove.value)) {

                route = "{{path('busquedaproveedores',{'id': "prov_id"})}}";
                route = route.replace("prov_id", prove.value);

                $.ajax({
                  url: route,
                  method: "POST"

                }).done(function (resp) {
                  $("#refresh_div").html(resp);
                });

                }
            } catch (err) {
            }
            if (error) { 
                $('#pvp').val('');
            }
        });
    </script>


Saludos!
Reply all
Reply to author
Forward
0 new messages