I thought so and tried: $(".EncodedDescriptionField").each( function(index, element ){ var hereWeAre = $(this).text(); var decodedString = atob(hereWeAre); console.error(hereWeAre); console.error(decodedString); });
this brings up an exception: Uncaught DOMException: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded. I've also double-checked the values - they are correct. For example, when I replace with the following: var decodedString = atob("Q29va2llcyBvbmU="); it decodes just fine, and the string itself I pick right from there - that's the value it has when it throws exception. Have no slightest clue what could possibly go wrong. On Friday, May 17, 2019 at 7:06:54 AM UTC-4, villas wrote: > > Maybe you need to iterate through the class elements. See this: > > https://stackoverflow.com/questions/4735342/jquery-to-loop-through-elements-with-the-same-class > > > > On Thursday, 16 May 2019 23:58:28 UTC+1, Vlad wrote: >> >> Just to clarify: >> >> the following works perfect for one field by ID (decrypts it back): >> var encodedDescription = $("#CurrentCartDescription").text() >> $("#CurrentCartDescription").html(atob(encodedDescription)); >> >> However, when I try to do it for a bunch of fields at once using class >> (instead of id), it doesn't work - doesn't touch the values: >> >> $(".EncodedDescriptionField").html(atob($(".EncodedDescriptionField").text())); >> >> I am sure I am missing something basic... Greatly appreciate suggestions >> - >> >> On Thursday, May 16, 2019 at 6:54:14 PM UTC-4, Vlad wrote: >>> >>> I had no clue about it - I mean never heard the terms :) >>> >>> Thank you very much for point to the direction. After some googling, it >>> is almost working. >>> >>> Encoding is just fine (using btoa). >>> >>> When I read it back and want to decode - it's not yet behaving right. >>> I'm suspecting my javascript is a problem. >>> >>> There is a bunch of fields which now have encrypted values (class >>> 'EncodedDescriptionField'), and I am trying to use the following to reclaim >>> the original values: >>> >>> >>> $(".EncodedDescriptionField").html(atob($(".EncodedDescriptionField").text())); >>> >>> What am I doing wrong? (It doesn't change the values - they remain as >>> they are, encrypted) >>> >>> On Thursday, May 16, 2019 at 5:35:39 PM UTC-4, João Matos wrote: >>>> >>>> Have you considered base64 encoding/decoding? >>>> >>>> quinta-feira, 16 de Maio de 2019 às 20:43:58 UTC+1, Vlad escreveu: >>>>> >>>>> I have the following javascript in the view: >>>>> >>>>> var id = $('#CurrentCartId').text(); >>>>> var description = $(this).text(); >>>>> var url='{{=URL('cart','description')}}'; >>>>> url += '/' + id + '/'; >>>>> url += description; >>>>> ajax(url,[],':eval'); >>>>> >>>>> the reason I use url+= to pass parameters instead of using args in the >>>>> URL helper is because the parameters are coming from the html itself - >>>>> they >>>>> are not known in the controller py. >>>>> >>>>> now the problem is that it changes the description and I have no way >>>>> to recover its original value. for example, when description is "askjdf d >>>>> >>>>> dka;lskdj 3838&^&%$#@ ((alksjdf__ - ))" (just a randomly typed string >>>>> in >>>>> this case), it comes out as "askjdf_d___dka_lskdj__3838_____". Obviously, >>>>> it needs to do this conversion in order to pass the parameter, but I >>>>> need >>>>> to be able to recreate the original string, entered by the user. >>>>> >>>>> Is there a better way of doing this? I.e. a better way of passing a >>>>> parameter in a way that it could be "recreated" and stored in the >>>>> database >>>>> exactly as typed by the user? >>>>> >>>> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/298b3f3d-a5fe-4fdf-80a0-b0455e094744%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.