[Javascript] Assegnazione variabile da campo input di tipo "a calendario"

enzogar

Nuovo Utente
3 Ago 2016
30
0
6
Buongiorno.

Sto cercando di inserire nel mio sito un campo input di tipo "a calendario", in modo che chi seleziona una data, e preme il bottone "INVIA", viene reindirizzato alla pagina relativa a quel giorno (ad esempio, alla pagina 02-02-2017.html).

Sto cercando di utilizzare questo codice javascript, però non riesco a far assegnare alla variabile dataselezionata il valore della data immessa in input...

HTML:
<script type="text/javascript" src="calendarDateInput.js"></script>
<form>
<script>DateInput('orderdate', true, 'DD-MON-YYYY')</script>
<input type="button" onClick="javascript:datar();" value="INVIA">
</form>

<script>
function datar(){
dataselezionata=orderdate;
alert(dataselezionata);
}
</script>
Se necessario, posterò anche il file js (che è un po' lungo...).


Ho messo l'assegnazione del valore dopo la chiusura del form, ma non funziona... Potete dirmi come devo modificare il codice?

Grazie.
 

enzogar

Nuovo Utente
3 Ago 2016
30
0
6
Devo semplicemente assegnare alla variabile dataselezionata il valore di orderdate, che contiene la data selezionata, nel formato DD-MM-YYYY.
Qui sotto posto il codice originale:

HTML:
<script type="text/javascript" src="calendarDateInput.js">
</script>


<form>
<script>DateInput('orderdate', true, 'DD-MM-YYYY');
</script>

<input type="button" onClick="alert(this.form.orderdate.value)" value="Clicca qui!">
</form>
Successivamente, creerò il link della pagina relativa alla data immessa nell'input, con relativo reindirizzamento, che deve avvenire alla pressione del bottone "Clicca qui!" , tramite il codice:

HTML:
<script>
function vai_pagina_del_giorno_selezionato(){
linkformat = dataselezionata + ".html";
location.href=linkformat;
}
</script>
Ho provato in tutti i modi che conosco, ma non sono riuscito a far assegnare alla variabile dataselezionata il contenuto di orderdate. Qualcuno mi può aiutare?
Grazie.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, posta un esempio completo di html body e head linkando la libreria che stai usando cosi possiamo fare un paio di test, oppure se lo hai online posta direttamente il link
 

enzogar

Nuovo Utente
3 Ago 2016
30
0
6
Ciao, ho risolto in questo modo:
al click sul bottone Clicca qui! , richiamo la funzione vai_pagina_del_giorno_selezionato a cui trasmetto il valore this.form.orderdate.value:

HTML:
<input type="button" onClick="vai_pagina_del_giorno_selezionato(this.form.orderdate.value)" value="Clicca qui!">
Poi, nello script richiamato, creo il link e faccio il reindirizzamento:
HTML:
<script>
function vai_pagina_del_giorno_selezionato(dataselezionata){
  linkformat = dataselezionata + ".html";
  location.href=linkformat;
}
</script>
Ecco il codice completo:
HTML:
<html>
<head>
<script src="calendarDateInput.js"></script>

<script>
function vai_pagina_del_giorno_selezionato(dataselezionata){
linkformat = dataselezionata + ".html";
location.href=linkformat;
}
</script>

</head>
<body>
<h4>Select a day:</h4>

<form>
<script>DateInput('orderdate', true, 'DD-MM-YYYY');
</script>

<input type="button" onClick="vai_pagina_del_giorno_selezionato(this.form.orderdate.value)" value="Clicca qui!">
</form>
</body>
Ho allegato il file calendarDateInput.js (rinominato in .txt per l'invio).


Ho provato con diversi browser e funziona, però adesso vorrei aggiunger un controllo sulla data immessa in input (vorrei che la data immessa nell'input parta da un determinato giorno, ad esempio, dal 10-02-2017 e non prima).

E' possibile inserire nello script un controllo di questo tipo, in modo che se la data immessa in input è antecedente, cliccando sul bottone dell'input non viene richiamata nessuna pagina, ma si rimane in attesa di un input data valido (o che compaia un messaggio di "data inserita non corretta", e si rimanga in attesa di un input data valido)?

Grazie.
 

Allegati