Replece in javascript

lunedì 28 gennaio 2013 - 16.19
Tag Elenco Tags  VB.NET  |  .NET 4.0

trinity Profilo | Guru

salve ragazzi,
se vedete l'immagine che ho postato, io dovrei togliere le virgolette all'interno delle parentesi, dovrei fare un replace ma non ci riesco.
ho provato a scrivere così:

function Loadimage(sender, argument) { var strimage = argument; var _strimage; _strimage = strimage.replace(/"/g, ''); var divimage = $get("<%= imgprofile100.ClientID %>"); divimage.style.backgroundImage ='url(' + strimage + ')'; }

per togliere i doppi apici all'interno delle parentesi ma mi esce questo messaggio: L'oggetto non supporta la proprietà o il metodo 'replace'...forse sbaglio la sintassi del replace



707x88 28Kb


ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>salve ragazzi,
ciao

>per togliere i doppi apici all'interno delle parentesi ma mi
>esce questo messaggio: L'oggetto non supporta la proprietà o
>il metodo 'replace'...forse sbaglio la sintassi del replace
a prescindere dal fatto che non capisco perchè il path che ti viene passato abbia le apici doppie come stringa raddoppiate, se sai che sono all'inizio e alla fine puoi sempre fare una substr.
tipo:
var s = '"tuo path"'; alert(s.substr(1,s.length-2));
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

trinity Profilo | Guru

Ok!
solo che vorrei capire come mai non funziona il mio replace vorrei capire se è un errore di sintassi....per quanto concerne il motivo dei doppi apici te lo spiego subito....

Allora io ho una pagina principale che carica i dati di un cliente e anche la sua immagine. L'immagine la carico in un div così posso tranquillamente gestire anche il resize dell'immagine stessa da css.
Con telerik ho creato una finestra window che serve a carica l'immagine in upload. quando chiudo questa finestra attraverso javascript mi porto la path dell'imaggine e la passo alla url del div. ma non mi si carica..prima di tutto ho pensato di testare il codice che utilizzo per caricare nel div l'immagine di backgroud. gli ho passato un path fissa e funziona perfettamente. Allora ho pensato che fosse la path che passo con java ad avere dei problemi. Ho notato che la path ha doppi apici.
ora ti faccio capire anche da codice come procedo.

Prima fase richiama la radwindows che servirà per salvare il percorso dell'immagine su db ed eseguire l'upload dell'immagine stessa:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

codice nella finestra di upload:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

ecco quando controllo la function Loadimage della pagina principale vedo che la path che viene passata ha il seguente percorso: "/image/pppp.jpg". Quindi ho pensato e pernso tutt'ora che sia l'unico problema che all'url del div viene passato con il mio codice senza replace una cosa del genere: url('"/image/ppp.jpg"') ecco perchè non carica le doppie apici danno problema.

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

trinity Profilo | Guru

intanto ho fatto come hai detto te ossia così:

function Loadimage(argument) { var strimage = argument; var str; str = 'url(' + strimage.substr(1, strimage.length - 2) + ')'; var divimage = $get("imgprofile100"); divimage.style.backgroundImage = str; }

ma sul codice substr e se anche tento a scrivere il replace come avevo fatto precedentemente mi esce questo messaggio di errore:

Errore di run-time di Microsoft JScript: L'oggetto non supporta la proprietà o il metodo 'substr'

oppure

Errore di run-time di Microsoft JScript: L'oggetto non supporta la proprietà o il metodo 'replace'

Come mai?
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>ma sul codice substr e se anche tento a scrivere il replace come
>avevo fatto precedentemente mi esce questo messaggio di errore:
>Come mai?
credo manchi il tostring:

strimage.toString().substr

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

trinity Profilo | Guru

Il valore esce vuoto ossia ho scritto cosi:

function Loadimage(sender, argument) { var strimage = argument; var divimage = $get("<%= imgprofile100.ClientID %>"); var str; str = 'url(' + strimage.toString().substr(1, strimage.length - 2) + ')'; divimage.style.backgroundImage = str; }

la variabile str resta vuota anzi meglio dire che il valore che viene passato è: url()
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>Il valore esce vuoto ossia ho scritto cosi:
devi debuggare, fare alert e capire perchè.
La substr considera una parte di stringa, nulla più.
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

trinity Profilo | Guru

Faccio il debug sempre ma mi passa un campo vuoto dopo la substr..
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>Faccio il debug sempre ma mi passa un campo vuoto dopo la substr..
fallo prima, controlla il param, controlla il toString, ecc.

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

trinity Profilo | Guru

Allora ho fatto una prova ho scritto così:

function Loadimage(sender, argument) { var strimage ="CIAO" //argument; var divimage = $get("imgprofile100"); var str; str = strimage.substr(1,2); //'url(' + strimage.substr(1,-2) + ')'; divimage.style.backgroundImage = str; }

ed ho visto che la substr funziona adesso mi domando forse l'argument che passo alla variabile strimage non gestisce il substr? Domanda strana appunto oppure non saprei
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

trinity Profilo | Guru

Ti posto un'altra immagine


555x114 32Kb


perchè l'argument ha il segno "_"?

secondo me il problema sta li ma non riesco a capire il perchè non funziona il sub o peggio se gli passo questo codice:

divimage.style.backgroundImage ='url(' + strimage + ')';

l'immagine non viene caricata nel div
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>Ti posto un'altra immagine
>perchè l'argument ha il segno "_"?
ma cosa passi al parametro quando chiami? non è una stringa?
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

trinity Profilo | Guru

allora ti passo tutto il codice e le varie sequenze in modo tale da trovare il problema e capire dove sbaglio.

Ho una pagina aspx con i comandi telerik. Avvio una radwindow che carica al suo interno un'altra pagina aspx che serve ad eseguire l'upload dell'immagine seul server e a salvare nel db la path della stessa immagine.

primo codice...apertura della radwindow e dichiarazione della function javascript che servirà a visualizzare l'immagine nel div della pagina principale una volta chiusa la radwindow.

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

seconda parte ossia quella che viene eseguita nella pagina all'interno della radwindow.

codice javascript:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

codice behind:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

sp che salva la path nel db e valorizza una viewstate la quale sarà passata alla function javascript che chiude la finestra e manda il valore alla function che si trova sulla pagina principale ossia la function "loadimage":

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

tutto qua ecco il codice che utilizzo...solo che la path viene passata correttamente alla funzione javascript "loadimage" ma non si vede l'immagine nel div. Con il debug ho visto che la path che viene passata ha questo valore finale:
"url("/image/prova.jpg")"
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>allora ti passo tutto il codice e le varie sequenze in modo tale
>da trovare il problema e capire dove sbaglio.
purtroppo non posso aiutarti, è praticamente un'applicazione questa.
Non so nemmeno perchè hai fatto la firma sul js con sender e argument (te lo impone telerik? serve per la gesione di un evento?).
Il concetto è che in quell'argument viene passato un oggetto, se devi usare quello, vedi di accedere alla stringa usando argument._argument, altrimenti proprio non saprei.
Dal debugger è molto chiaro che la stringa non è nel parametro argument, ma nel suo campo _argument. Prova ad accedere a quello.
ciao
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

trinity Profilo | Guru

Appunto è quello che ho visto pure io di solito in Js quando devo passare dei parametri metto solo (argument o arg) ma questa volta dato che la radwindow la richiamo direttamente dal radmeno, se tolgo il sender non mi fa passare il valore. pertanto a questo punto penso che sia telerik che obbliga a mettere il sender.

Farò delle prove e ti faccio sapere.

Ultima curiosità ho fatto anche un post ma non mi è stato utile.

Sto vedendo una cifra di siti e anche i forum e gli esempi di come gestire i Js ecc.... e non capisco il siginifcato e cosa cambia quando trovo questo:

function (argument)

oppure

Function (arg)

oppure

function (Sender, argument)

oppure

function (Sender, eventargs)

mi saprei dire le differenze? perchè non sono riuscito a trovare un sito che le specifichi.
Argument l'ho anche capito e penso che arg sia una sua abbreviazione, giusto?

ma quando mettere il sender e quando usare eventargs?

ciao e grazie mille del tuo aiuto
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>mi saprei dire le differenze? perchè non sono riuscito a trovare
>un sito che le specifichi.
>Argument l'ho anche capito e penso che arg sia una sua abbreviazione,
>giusto?
>ma quando mettere il sender e quando usare eventargs?
non conta il nome, conta la firma, come deve essere e chi ti dice di imporre quella forma. Non esistono abbreviazioni o nomi, sono solo i param che una certa firma deve avere.


Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

trinity Profilo | Guru

>>mi saprei dire le differenze? perchè non sono riuscito a trovare
>>un sito che le specifichi.
>>Argument l'ho anche capito e penso che arg sia una sua abbreviazione,
>>giusto?
>>ma quando mettere il sender e quando usare eventargs?
>non conta il nome, conta la firma, come deve essere e chi ti
>dice di imporre quella forma. Non esistono abbreviazioni o nomi,
>sono solo i param che una certa firma deve avere.

prima di tutto ti informo che argument._argument funziona anche senza replace.....grazie mille

secondo cosa intendi per firma?

comunque si la mia è una sorta di applicazione web...diciamo un piccolissimo social network...anche perche alla fine se non erro gli stessi face, twit ecc sono delle vere e proprie applicazioni web

>Alessandro Alpi | SQL Server MVP
>MCP|MCITP|MCTS|MCT
>
>http://blogs.dotnethell.it/suxstellino
>http://suxstellino.wordpress.com
>http://mvp.microsoft.com/profiles/Alessandro.Alpi

Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>secondo cosa intendi per firma?
come un metodo è scritto nella definizione. L'elenco dei parametri col tipo relativo (se supportato).

facebook e twitter e colossi.. non sono applicazioni web.. sono colossi enterprise con infrastrutture scalate e ben fatte (non fin da subito, ma col tempo).

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

trinity Profilo | Guru

>>secondo cosa intendi per firma?
>come un metodo è scritto nella definizione. L'elenco dei parametri
>col tipo relativo (se supportato).
>
>facebook e twitter e colossi.. non sono applicazioni web.. sono
>colossi enterprise con infrastrutture scalate e ben fatte (non
>fin da subito, ma col tempo).

scusa ma perchè non posso essere definite applicazioni web alla fine eseguono delel registrazioni delle ricerca delle visualizzazioni come potrebbero fare le applicazioni...cosa intendi per enterprise ed infrastrutture scalate, mi piacerebeb capire...



>Alessandro Alpi | SQL Server MVP
>MCP|MCITP|MCTS|MCT
>
>http://blogs.dotnethell.it/suxstellino
>http://suxstellino.wordpress.com
>http://mvp.microsoft.com/profiles/Alessandro.Alpi

Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>scusa ma perchè non posso essere definite applicazioni web alla
>fine eseguono delel registrazioni delle ricerca delle visualizzazioni
>come potrebbero fare le applicazioni...cosa intendi per enterprise
>ed infrastrutture scalate, mi piacerebeb capire...
eh non è così facile capire queste cose per svariati motivi.
Serve tanta esperienza in un luogo, diciamo, che gestisce un software per cui un sito è solo una minima parte del suo business.
Nella realtà in cui lavoro, per ogni "modulo" che si intende isolare, esiste un server/servizio, che oltretutto è anche in multi installazione spesso, per garantire la scalabilità.
Definire colossi come quelli web application risulta quindi riduttivo.
Pensa solamente a fb, secondo te tutti i dati che ha possono stare su un uno mySQL relazionale? E il motore delle notifiche, secondo te non è staccato?
Ci sono veramente decine e decine (cifra indicativa, bisognerebbe lavorare con loro per capire meglio) di servizi, sistemi di caching distribuiti, log dedicati, architetture che parlano tra loro, anche cross tecnologia, insomma, è enorme un software per gestire quelle entità..
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

trinity Profilo | Guru

Ho capito.

Ha usa Mysql anche ? quindi suppongo php...ma non usano database non relazionali? pensavo che usassero i cosiddetti db Nosql....ps potresti dare una letta a questo post: http://www.dotnethell.it/forum/messages.aspx?ThreadID=42343

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>Ha usa Mysql anche ? quindi suppongo php...ma non usano database
>non relazionali? pensavo che usassero i cosiddetti db Nosql....ps
>potresti dare una letta a questo post: http://www.dotnethell.it/forum/messages.aspx?ThreadID=42343
come ti dicevo, non hanno un end point, ne hanno tanti e ognuno usa la tecnologia che meglio crede l'architetto
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

trinity Profilo | Guru

Ho un campo varchar nel quale i clienti scrivono la loro specializzazione nel proprio lavoro. Sicuramente molti metteranno la classica parola all'inizio: "Specializzato in....." é possibile in code behind eseguire un replace sul valore salvato nel db e se all'inizio c'è la parola "specializzato in" oppure "specializzato" oppure "specializzazione", venga tolta? tranne se queste parole vengano ripetute all'interno del testo salvato.

Ti faccio un esempio

es1:
"Specializzato in linguaggio vb ed sql"

dopo il replace:

"linguaggio vb ed sql"

es2:

"Specializzato in linguaggio vb e specializzato in linguaggio sql"

dopo il replace:

"linguaggio vb e specializzato in linguaggio sql"


tutto questo perchè nella pagina aspx che devo far vedere l'anagrafica del cliente ci sono le label come etichette per ogni campo e c'è una label che ho inserito che si chiama: "Specializzato/a in:"

Ciao e grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>Ho un campo varchar nel quale i clienti scrivono la loro specializzazione
>nel proprio lavoro. Sicuramente molti metteranno la classica
>parola all'inizio: "Specializzato in....." é possibile in code
>behind eseguire un replace sul valore salvato nel db e se all'inizio
>c'è la parola "specializzato in" oppure "specializzato" oppure
>"specializzazione", venga tolta?
con la replace prima di salvarla con String.Empty.. oppure usando delle regular expression..
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

trinity Profilo | Guru

>>Ho un campo varchar nel quale i clienti scrivono la loro specializzazione
>>nel proprio lavoro. Sicuramente molti metteranno la classica
>>parola all'inizio: "Specializzato in....." é possibile in code
>>behind eseguire un replace sul valore salvato nel db e se all'inizio
>>c'è la parola "specializzato in" oppure "specializzato" oppure
>>"specializzazione", venga tolta?
>con la replace prima di salvarla con String.Empty.. oppure usando
>delle regular expression..
Vorrei utilizzare il regular expression anche per imparare una cosa nuova ho fatto una ricerca nel web per vedere delle spiegazioni ed esempi e ho trovato questo sito:

http://msdn.microsoft.com/it-it/library/xwewhkd1.aspx

ma non c'è nussun modello di regex per il mio scopo...ossia devo impostare che se trova le stringhe che richiedo io me le deve eliminare....
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alx_81 Profilo | Guru

>Vorrei utilizzare il regular expression anche per imparare una
>cosa nuova ho fatto una ricerca nel web per vedere delle spiegazioni
>ed esempi e ho trovato questo sito:
prova a dare una letta al blog di Mike
http://blogs.dotnethell.it/Regulator/
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

trinity Profilo | Guru

ok grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5