14 messaggi dal 20 aprile 2007
Salve a tutti... raga ho questo problema..

ho bisogno di un script che ad un click di un pulsante mi faccia scegliere se fare una cosa o l'altra..
Entrambe le azioni di scelta sono scritte in due metodi public, ad esempio test1() e test2().

Nel page load() ho inserito la seguente riga di codice:

Button6.Attributes["onclick"]="javascript:if(confirm('Vuoi continuare?')){test1(); }else{test2();};";

I metodi test1 e test2 settano solo una label (metodi di prova), ma non funziona!! Cosa manca?? Eppure non mi da errore!!

Se al posto dei metodi inserisco una stringa è tutto ok ma l'invocazione di un metodo pare non la faccia..


Aiutatemi!!! Grazie come al solito.....
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Non è che avviene il postback di pagina e perdi i dati inseriti?
Se scrivi:

Button6.Attributes["onclick"]="if(confirm('Vuoi
continuare?')){alert('true'); }else{alert('false');}; return false";
Appare l'alert con il tipo di risposta dato?

Ciao
14 messaggi dal 20 aprile 2007
ho provato a scrivere come tu suggerisci e funziona..
in realta funziona anche se nel blocco if - else inserisco una document.Writer...

Il problema è che non esegue i metodi scritti in c# e presenti nella pagina..
in realta non ho esperienza in javascript e non so nemmeno se si puo fare..

Ma c'è un modo per memorizzare da programma il valore restituito dalla confirm??

Mi spiego: una cosa di questo tipo....

bool valore = < codice javascript confirm >

in modo tale da gestire da programma se l'utente abbia cliccato su ok oppure annulla ????

Ciao e grazie per l'interessamento!!!
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
kekkoweb <kekkoweb> ha scritto:
Il problema è che non esegue i metodi scritti in c# e presenti nella pagina..

Aspetta aspetta

Non puoi richiamare direttamente funzioni scritte in C# all'interno della pagina.

Teoricamente tu vuoi eseguire un postback, ma prima di eseguirlo vuoi che l'utente possa fare una scelta, e questa possa essere elaborata dalla pagina asp.net... dico bene?

Se è questo il tuo caso, puoi usare un trucco: imposti un valore in un campo hidden da javascript che potrai poi leggere da C#.

Nel codice html inserisci:

input type="hidden" name="scelta" id="scelta" />

Quindi il tuo codice javascript:

Button6.Attributes["onclick"]="window.document.getElementById('scelta').value=confirm('Vuoi continuare?');";

Ora dal tuo codice c#, dopo il postback, potrai leggere la scelta dell'utente:

bool scelta=bool.Parse(Request["scelta"]);

Ma il dubbio ora è un altro, ma non vuoi semplicemente bloccare l'esecuzione dell'evento in quel button in caso l'utente non voglia continuare?
In tal caso puoi anche solo scrivere:

Button6.Attributes["onclick"]="return confirm('Vuoi continuare?');";
Ciao
14 messaggi dal 20 aprile 2007
Ti ringrazio!!! funziona!!!

Avevi capito bene quel'era il mio problema...

Avevo bisogno di un messaggio che in base alla scelta dell'utente avesse fatto un qualcosa. Adesso che ho recuperato il valore booleano posso instradare il codice...

Non so sinceramente se la confirm sia la piu adatta ( da qui il tuo dubbio.. giusto??!!), in realtà sarebbe + appropriato un messaggio con le voci SI / NO
invece di ok / annulla...
ma cosi almeno risolvo il problema...

Come gia ti ho detto non sono affatto pratico di javascript...
Sai consigliarmi una 'funzione' al posto della confirm che + si adatti al mio problema??

Cmq ti ringrazio per la soluzione...
A buon rendere... ( spero...  )
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
kekkoweb <kekkoweb> ha scritto:
Ti ringrazio!!! funziona!!!



Come gia ti ho detto non sono affatto pratico di javascript... Sai consigliarmi una 'funzione' al posto della confirm che + si adatti al mio problema??

Se questa applicazione è per una intranet che deve girare solo con IE, puoi usare il vbscript invece del javascript e te la cavi con poche righe di codice:

<script language="vbscript">
dim saveForm
saveForm = msgbox("Sei sicuro?", vbYesNo)
if saveForm = vbYes then
msgbox("Yes")
else
msgbox("No")
end if
</script>

Altrimenti, continuando ad usare javascript, devi usare tu una modal window... Ho trovato questi esempi a riguardo:
http://www.macridesweb.com/oltest/MODAL.html
http://www.jguru.com/faq/view.jsp?EID=331270

Cmq ti ringrazio per la soluzione...
A buon rendere... ( spero...  )

Prego

Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.