Salve,
In un form ho una textbox(<asp:textbox...), vorrei che all'evento js OnChange venisse eseguita la funzione, sempre js ovviamente, Validate('ora');, come faccio?
Grazie
Salve,
In un form ho una textbox(<asp:textbox...), vorrei che all'evento js OnChange venisse eseguita la funzione, sempre js ovviamente, Validate('ora');, come faccio?
Grazie
Ciao! L'ho fatto qualche centinaio di volte...
Nel code-behind della pagina, imposti un attributo per la textbox utilizzando il suo ID. Supponiamo che si chiami TextBox1:
TextBox1.Attributes["OnChange"] += "return(Validate('ora'));";
Fatto e non mi funziona, scusami perchè fai +=
0) L'impostazione dell'attributo devi farla nel Page_Load
1) onchange (tutto in minuscolo, Javascript è case-sensitive)
2) prova a mettere un window.alert nella tua funzione per vedere se almeno ci entra
3) += serve nel caso ci siano altri funzioni associate all'evento. Nel tuo caso, puoi tranquillamente scrivere solo =
4) la tua funzione Validate deve stare in un blocco <script></script>
nel tag HEAD della pagina html, o in file .js linkato alla pagina
Di più, puoi solo postare il codice della pagina.
E' tutto apposto quello che mi hai chiesto, la function viene raggiunta ma non capisco perchè non funziona, posto un po di codice:
##FUNZIONE JS##
if((form_dati.tbOre.value>23)||(isNaN(form_dati.tb Ore.value))||(form_dati.tbOre.value==""))
form_dati.tbOre.value = "00";
##NEL PAGE_LOAD DI ASPX##
tbOre.Attributes("onchange") = "ValidateOrario('ore');"
tbOre.Attributes("onchange") = "ValidateOrario('minuti');"
In pratica mi serve che nelle 2 textbox vengano messi i valori giusti per l'orario
A occhio e croce sostituirei tutti i
form_dati.tbOre
con
doment.forms["form_dati"].getElementById("tbOre")
e inoltre il valore di una textbox è una stringa quindi dovresti prima convertirlo in intero con la funzione parseInt
var myform = doment.forms["form_dati"];
var tbOre = myform.getElementById("tbOre");
if (parseInt(tbOre.value) > 23 || isNaN(tbOre.value) || tbOre.value=="")
Anzi, meglio così:
if (tbOre.value=="" || parseInt(tbOre.value) > 23 || isNaN(parseInt(tbOre.value)))
Ho risolto, avevo mancato un ";"...grazie 1000 per l'aiuto...