45 messaggi dal 10 giugno 2002
Buon giorno a tutti!!! help me plz
allora il problema è il seguente!!!
da una funzione JavaScript ricavo una data che va in un inputbox..
a questo punto voglio dividerla e metterla in 3 diverse caselle!!ovvero .. giorni..mesi..anno...come faccio?? thanks so much
7 messaggi dal 05 giugno 2002
Dovresti intercettare l'evento onchange nell'input box, e collegarlo ad una funzione che esegue uno split (String.split(data,"/")) della data.
Otterrai un array, mettilo nelle singole caselle:
nomeoggGiorno.value = dataGGMMAA(0)
nomeoggMese.value = dataGGMMAA(1)
nomeoggAnno.value = dataGGMMAA(2)

Non devi far altro...



11.886 messaggi dal 09 febbraio 2002
Contributi
Devi avere un oggetto data che puoi istanziare in questo modo:

oggi = new Date()

poi con diversi metodi puoi "carpire" le varie parti di quella data.

giornodelmese = oggi.getDate()
mese = oggi.getMonth()
anno = oggi.getYear()


Attenzione, che il giorno del mese può variare da 1 a 31, mentre il numero del mese varia da 0 (Gennaio) a 11(Dicembre).

Esiste anche:
giornodellasettimana = oggi.getDay()
che ti restituisce il giorno della settimana: 0 (mi pare domenica) fino a 6 (sabato)


-----------------------
Da una perla dal saggio:
Quando non hai capito, devi dire "non ho capito", no che dici che hai capito e invece non hai capito un cavolo. Hai capito?
-----------------------

Enjoy learning and just keep making
45 messaggi dal 10 giugno 2002
Scusate di nuovo!!
ho provato a fare qualcosa...ma devo dire che in Java sono
una frana!!
Vi mosrto il codice:
<SCRIPT LANGUAGE=javascript>
<!--
function formatdata()
{

Date=document.form1.text1.value
oggi = new Date()
giornodelmese = oggi.getDate()
mese = oggi.getMonth()
anno = oggi.getYear()</P>
giornodelmese=document.form1.text2.value
mese=document.form1.text3.value
anno=document.form1.text4.value
}
//-->
</SCRIPT>

<form name=form1 action="" method="post">
<INPUT type="Text" onchange='formatdata();' name="text1" >

<INPUT type="Text" name="text2" >
<INPUT type="Text" name="text3" >
<INPUT type="Text" name="text4" >

</form>
dove sbaglio??thanks so much!!
11.886 messaggi dal 09 febbraio 2002
Contributi
No aspe, c'è un po' di casino:

Tu praticamente vuoi che quando uno scrive una data in una textbox, questa venga "frazionata" e i 3 valori del giorno, mese e anno vengano inseriti nelle altre 3 textbox?

Mi sa che allora ti conviene fare come diceva paproasp: con lo Split.

Però prima vediamo un attimo quello che hai scritto tu:

Date=document.form1.text1.value
oggi = new Date()
giornodelmese = oggi.getDate()
mese = oggi.getMonth()
anno = oggi.getYear()</P>
giornodelmese=document.form1.text2.value
mese=document.form1.text3.value
anno=document.form1.text4.value

nella prima riga c'è un errore: tu dai alla variabile Date un il valore di una textbox. L'errore è che non puoi usare la parola "Date" dato che è riservata.
Poi negli ultimi tre passaggi, dovresti fare il contrario cioè invertire i membri. Ricordati sempre che quello che sta a sinistra dell'uguale diventa come quello che sta a destra, e non viceversa.
Riscrivi il pezzo qua sopra in questo modo:

oggi = new Date(document.form1.text1.value)
document.form1.text2.value = oggi.getDate()
document.form1.text3.value = oggi.getMonth()
document.form1.text4.value = oggi.getYear()

quando fai
oggi = new Date()
oggi assume il valore della data di oggi
se fai
oggi = new Date("7/7/2002")
prende la data del 7 luglio.

Però non è tanto consigliabile fare tutto questo perchè sia con lo split che con questo metodo, tutto dipende da chi immette la data. Se l'utente scrive "vattelappesca" non può essere interpretato come una data. Non ti conviene direttamente fare 3 select, una per il giorno, il mese e l'anno in cui ci sono parametri definiti?

-----------------------
Da una perla dal saggio:
Quando non hai capito, devi dire "non ho capito", no che dici che hai capito e invece non hai capito un cavolo. Hai capito?
-----------------------

Enjoy learning and just keep making
45 messaggi dal 10 giugno 2002
Mamma ke casino!!
ho provato ad inserire questa funziona!!
qualcosa funziona!!...ma ti dico quali sono i problemi:
-Il giorno risulta quello precedente
-il formato è quello americano ovvero mese/giorno/anno
-dato ke in seguito dovrò inserire tutto in delle combobox
devo avere i risultati con lo "0" di fronte alle prime 9 cifre
Ex: 09/04/2002..
thanks again!
45 messaggi dal 10 giugno 2002
ok...forse ce l'ho fatta!!
l'unica cosa che manca:
devo aggiungere lo 0 di fonte alle date
in VbScript uso questa funzione:
giorno = Left(("00"),2-Len(giorno)) & giorno
come faccio in JavaScript??
é ora di andare!! buona serata a tutti!
11.886 messaggi dal 09 febbraio 2002
Contributi
Per aggiungere lo 0 davanti ai numeri di una sola cifra:

Correggi questo:
document.form1.text2.value = oggi.getDate()

Con
<code>
giorno = oggi.getDate()
if (giorno &lt; 10){
giorno = "0" + giorno.toString()
}
document.form1.text2.value = giorno
</code>

fallo così anche per il mese con getMonth()

-----------------------
Da una perla dal saggio:
Quando non hai capito, devi dire "non ho capito", no che dici che hai capito e invece non hai capito un cavolo. Hai capito?
-----------------------

Enjoy learning and just keep making

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.