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

  • Creatore Discussione Creatore Discussione enzogar
  • Data di inizio Data di inizio

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.
 
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.
 
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
 
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

Discussioni simili