Foros Néfele 4 Harbour › Foros › Dudas › Cambiar el valor de un WLabel no puedo lograrlo
- Este debate tiene 5 respuestas, 3 mensajes y ha sido actualizado por última vez el 1 año, 11 meses por Gabriel Ornelas. This post has been viewed 383 times
-
AutorEntradas
-
-
31-12-2022 a las 02:08 #1995Gabriel OrnelasParticipante
Hola Nefele Team
Estoy trantando de cambiar el valor de un texto creado con WLabel. Cuando se presiona un boton pero no logro hacerlo el siguiente codigo. Alguien que me pueda dar una ayudadita 🙁
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889//------------------------------------------------------------------------------//Función principal de la app WebPROCEDURE MainPage()// Comenzamos instanciando la Página Web que queremos crearWith Object TWebPage():New():lValign := .T.:lContainer := .T.:lFooterContainer := .F.:aLinks := {}:cTitleFooter:= "":cClrFootText:= 'white':cClrFootPane:= 'amber':cSubTitle := "":cTitle := "Prueba":lBackgroundRepeat := .F.:cBackgroundSize := "cover":cCopyright := "Pruebas....."AAdd(:aScript,'<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>' )WITH OBJECT WPanel():New(:WO):cTitle := "Generar Tokens de Autorización":aOffset[xc_S]:= 1:aOffset[xc_M]:= 1:aOffset[xc_L]:= 1:aWidth[xc_M]:= 10:aWidth[xc_S]:= 10:aWidth[xc_L]:= 10With Object WButton():New(:WO):cID := "btn_ambar":aWidth[xc_M] := 6:cText := "Token para Plaza Ambar":cOnClick := "crear_token":cIcon := "filter_1":lEnabled := .T.:lLarge := .T.:lCenter := .T.:nFix := "100%":cAjaxBevel := "nflcargo":aParams := { {"token_result",""} }:Create()End WithWITH OBJECT WBevel():New( :WO ):cId:= "token_result":lShadow:= .T.:nStyle := xc_Row:cTitleAlign:= xc_Center:oStyle:cBorder_radius:= 7:cCSS:= "#token_result img { box-shadow: 0 8px 10px -4px rgba(0,0,0,.6);border-radius: 15px;}"+;"#token_result .col { margin-bottom: 20px;}"WITH OBJECT WLabel():New(:WO):cID:= "token_label":nFontSize:= 4:cAlign:= xc_Center:cText:= "Bienvenido a Tokens Samples":cType:= "p":Create()END WITH:Create()END WITHWITH OBJECT WSeparator():New(:WO):lBR := .T.:Create()END WITH:Create()ENDoCGI:SendPage( :Create() )// Se crea el HTML final y se envía al navegador saliendo del ejecutable CGIEnd WithRETURN//------------------------------------------------------------------------------PROCEDURE crear_token()LOCAL xToken,cScript,cHTMLxToken:= GenerarToken()TEXT INTO cScriptdocument.getElementById("token_label").value="[[token]]"ENDTEXTcHTML:= StrTran(cScript,"[[token]]",HB_NToS(xToken) )oCGI:SendScript( cHTML )RETURN- Este debate fue modificado 1 año, 11 meses por Gabriel Ornelas.
-
31-12-2022 a las 21:33 #1999Vicente ArdinesParticipante
Wlabel():cText:= "Bienvenido a Tokens Samples" // te va a devolver siempre ese valor en el texto del label
//----------------------------------------------------------------------------------------
manejándolo así , y cargando ahí el token de tu función????
LOCAL cTexto_a_mostrar := "Bienvenido a Tokens Samples"
Wlabel():cText:=cTexto_a_mostrar
//-------------------------------------------------
cTexto_a_mostrar := Token
-
01-01-2023 a las 13:01 #2002Pedro AmaroSuperadministrador
El problema es que un wLabel al convertirse en HTML pasa a ser un <span></span> y no tiene propiedad "value", lo que hay que modificar es su propiedad html, que corresponde al texto.
Para facilitar un poco las cosas tenemos la funcion nfl_UpdateById() que se encarga de montar el JS necesario dependiendo de la "propiedad" que querramos modificar.
12345678PROCEDURE crear_token()LOCAL xTokenxToken:= GenerarToken()oCGI:SendScript( nfl_UpdateById({"token_label", HB_NToS(xToken), "html"} )RETURNSaludos
- Esta respuesta fue modificada 1 año, 11 meses por Pedro Amaro.
- Esta respuesta fue modificada 1 año, 11 meses por Pedro Amaro.
-
03-01-2023 a las 05:34 #2008Gabriel OrnelasParticipante
Gracias Vicente, Pedro
Enlazando tokens.exe...
undefined reference to HB_FUN_NFL_UPDATEBYID🙁
-
03-01-2023 a las 22:37 #2009Pedro AmaroSuperadministrador
Grabriel;
¿Que versión de la librería de Néfele estas utilizando?
Prueba a utilizar nfl_UpdateAjaxById()
Se cambio en Agosto del 2021 por nfl_UpdateById()
Te debe crear este script "$('#token_label').html('" + HB_NToS(xToken) +"');"
-
04-01-2023 a las 15:46 #2010Gabriel OrnelasParticipante
Hola Pedro..
https://nefele.dev/blog/download/nefele-lib-v-0-4-1-0/
Descargue y lo remplaze en C:\Xailer_7.1.1\Lib
y no lo encuentra probare con la funcion que me indicas.. Gracias!
-
-
AutorEntradas
- Debes estar registrado para responder a este debate.