Incluir funcionalidad Javascript

Foros Néfele 4 Harbour Foros Dudas Incluir funcionalidad Javascript

Topic Resolution: Resolved
  • Este debate tiene 13 respuestas, 2 mensajes y ha sido actualizado por última vez el 3 años, 7 meses por Alfredo SanzAlfredo Sanz. This post has been viewed 614 times
Mostrando 9 respuestas a los debates
  • Autor
    Entradas
    • #701
      Avatarquim
      Participante

      Buenas tardes

      Vamos avanzando a buen ritmo ... Estoy intentando esta funcionalidad

      pedido

      Los botones + / - me gustaria que incrementaran / decrementaran el campo cantidad. Son del tipo 'readonly' para que en dispositivos móviles no salga el teclado que ocupa media pantalla. Así de forma táctil, aumenta o disminuye la cantidad

      El caso es que no sé como hacer que los botones no ejecuten ninguna accion del CGI si no que llamen a alguna funcion Javascript inyectada previamente, alguna idea ?

      Por otra parte, indicar que a falta de documentación de wImage, se puede hacer un zoom a una imagen muy facilmente, añadiendo en la definicion :

      Nota para @xhermita

      En wImage no ha funcionado ni cScript ni cOnChange, estas variables no existen en la clase

      Saludos

      Loading spinner
      • Este debate fue modificado 3 años, 7 meses por Avatarquim.
    • #703
      Alfredo SanzAlfredo Sanz
      Superadministrador

      Alucinante!!

      El cOnClick, si empieza con el símbolo # te permite ejecutar directamente javascript en lugar de llamar al cgi.

      :cOnClick := "#alert('Néfele')"

      El materialboxes no lo conocía. lo incorporaré como una opción a WImage. Ya he añadido una opción para que cambie la imagen cuando ponemos el cursor sobre ella.

      Tenemos ya nefelizado el facybox ( https://fractality.ddns.net:44444/xacgi?flex ) pero el que indicas es realmente sencillo

      Loading spinner
      • #706
        Avatarquim
        Participante

        Buenos dias

        Perfecto poder ejecutar via # javascript, una muy buena idea 😎

        Genial también la galería facybox, entiendo que es complementario con el componente materializecss materialbox() ya que el primero nos sirve para una presentación rápida de varias fotos y el segundo, para un zoom en una imagen, fuera de facybox

        Saludos y gracias por las respuestas 😉

        Loading spinner
      • #708
        Avatarquim
        Participante

        Buenos dias

        Sólo comentar que la llamada a javascript funciona tanto precediendo con @ como con #

        Va a seguir así o se suprimirá alguna de sus formas ?

        Saludos

        Loading spinner
    • #711
      Alfredo SanzAlfredo Sanz
      Superadministrador

      De momento va a seguir así, pero seguramente el @ terminará desapareciendo

      Loading spinner
    • #718
      Avatarquim
      Participante

      Buenos dias

      Siguiendo con la funcionalidad anterior, intento dotar de funcionalidad via Nefele los botones.

      Dado el siguiente código

      Al hacer click en el botón + o en el botón - se lanza correctamente la llamada a SwitchBtn definida en el script, pero no sé cómo detener la propagación del evento, ya que sigue con la llamada al CGI, según muestra la cónsola

      pedido

      Alguna idea ?

      Saludos

      Loading spinner
    • #719
      Avatarquim
      Participante

      Buenos dias

      Ya he conseguido la funcionalidad deseada, no sé si seria posible 'nefelizar', de momento funciona y sigo adelante 😉

      Loading spinner
    • #722
      Alfredo SanzAlfredo Sanz
      Superadministrador

      Vaya,

       

      Enséñame la parte del código html donde hace el onClick a la función

      Néfele ya pone el stopPropagation ( o debería)

      Loading spinner
    • #725
      Alfredo SanzAlfredo Sanz
      Superadministrador

      Si no te aparece, el onclick como a mí dímelo para revisarlo


      Puedes ponerlo tú directamente en el onclick

      :cOnClick := "#event.stopPropagation();Sumar(1)"

      Loading spinner
      • #729
        Avatarquim
        Participante

        Sí que sale

        dlg

        Loading spinner
    • #730
      Avatarquim
      Participante

      Pero el evento sigue hasta la llamada de Ajax

      dl

      PD. No me deja publicar mensajes con + de 1 imagen 😉

       

      Loading spinner
    • #733
      Alfredo SanzAlfredo Sanz
      Superadministrador

      Uff, lo pillé. Ya sé qué te está pasando!

      Vamos a ver, el problema está en que para un control tan básico y sencillo como es un botón, html ha logrado complicarlo hasta límites insospechados.

      Cuando ponemos <button>test</button> html lo interpreta como <input type="submit" value="test">, es decir, un button siempre hará el submit, que es lo que nos estaba pasando. Para evitarlo, podemos hacer <button onclick="return false">test</button>

      Por otro lado, ten en cuenta que al definer el ::addCol dentro de Browse  y ponerle un
      :cOnClick := "#alert('hola desde la columna')"

      El cOnclick se está asignando realmente a la columna, no al contenido de la columna

      Por lo cual el botón "de dentro de la columna" no tiene por qué tener ninguna acción ( ya se encarga la columna de hacerlo) y quedaría así

      <input type="button" value="test" >

      Si al botón le ponemos una acción en el onClick, hemos de tener en cuenta que se "lanzará" tanto el click del botón como el de la columna. Primero se ejecutará el click correspondiente al botón ( o el elemento que esté en el interior de la columna) y después el click asociado a esa columna,

      Si solo queremos ejecutar el primer click (el del botón) tenemos "para la ejecución" dentro del onClick poniendo

      '<input type="button" value="test" onclick="alert('hola desde el botón');event.stopPropagation()">'

      Espero haberme explicado, si no, decírmelo, que este punto es importante

      Loading spinner
      • Esta respuesta fue modificada 3 años, 7 meses por Alfredo SanzAlfredo Sanz.
      • #736
        Avatarquim
        Participante

        Buenos dias

        Dices ...

        el botón "de dentro de la columna" no tiene por qué tener ninguna acción ( ya se encarga la columna de hacerlo) 

        Pero si el WArrayBrowse lo has definido con

        :cOnClick := NIL // o " "

        No tendría que saltar a ningún evento click de la columna no ?

        Saludos

        Loading spinner
    • #737
      Alfredo SanzAlfredo Sanz
      Superadministrador

      Tienes dos opciones

      Definir el onclick a nivel de todo el arraybrowse, con lo cual se ejecutará al hacer click en cualquier columna

      WITH OBJECT WArrayBrowse():New( oParent )
      :cOnClick := "VisParam"

      O .. definirlo a nivel de columna, con lo cual sólo se ejecutará al hacer click en esa columna en concreto

      WITH OBJECT :AddCol("") //damos formato a la columna del icono add_circle_outline
      :cOnClick := "#BtnAlert('has pulsado la columna 1')"

      Si no defines onClick ni para la fila ni para la columna, entonces tendrías que poner un onclick en el elemento interno si quieres que haga algo.

      Loading spinner
Mostrando 9 respuestas a los debates
  • Debes estar registrado para responder a este debate.

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para «permitir cookies» y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en «Aceptar» estarás dando tu consentimiento a esto.

Cerrar