[Javascript] Togliere Campi obbligatori

rob4

Nuovo Utente
17 Set 2018
12
0
1
Buongiorno raga, avrei bisogno di un aiuto in quanto non esperto di javascript e jquery.
Allora vorrei sapere da questa riga di codice, che prevede i due campi check in e check out per prenotare, e che sono obbligatori:
Codice:
function check_booking_form() {
var book_from, book_to;
book_from = $("#start_date").val();
book_to = $("#end_date").val();

if (book_from === '' || book_to === '') {
$('#booking_form_request_mess').empty().addClass(' book_not_available').show().append(property_vars.p lsfill);
return false;
} else {
return true;
}
}
Ecco io vorrei invece che il campo #start_date (book_from) sia obbligatorio, mentre il campo #end date (book_to) non solo non sia obbligatorio, ma non deve proprio esserci. In parte ci sono riuscito nascondendolo con css e usando il tag code
Codice:
//book_to = $("#end_date").val();
e vorrei che la prenotazione funzionasse lo stesso, senza compilare il maledetto campo check out (end date).
Ed è proprio qui il problema, il campo non è più obbligatorio, non esce più il messaggio "Please fill the all fields", però dal momento in cui clicco per prenotare, mi esce il messaggio di attesa che precede quello della prenotazione avvenuta con successo. Il problema è che rimane così in attesa infinita e non avviene la prenotazione, invece se provo a compilare il campo check out, anche se non più obbligatorio, la prenotazione avviene con successo. Inoltre cliccando sul campo check in (start date) e compilandolo, mi porta automaticamente al campo check out da compilare, come se la funzione fosse comunque ancora obbligatoria.
Dov'è il problema, aiuto!!

Qui c'è il codice per intero, se serve modificare anche altre righe per togliere l'obbligatorietà del campo check out: http://testsitegenric.altervista.org/property.js

Grazie anticipatamente
 
Ultima modifica di un moderatore:

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.006
295
83
@rob4
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
code.gif
quando posti del codice, oppure la funzione codice dalla barra degli strumenti
box inserisci 2.png.JPG

Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
Per questa volta te lo sistemo io ma mi raccomando per il futuro
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.006
295
83
@rob4
Hai aperto la tua discussione appena ieri! Devi avere pazienza e attendere, nessuno è obbligato a risponderti e sollecitare dicendo poi che nessuno riesce peggiori la situazione!

Attendi e abbi pazienza!
 

marino51

Utente Attivo
28 Feb 2013
2.674
135
63
Lombardia
Ecco io vorrei invece che il campo #start_date (book_from) sia obbligatorio, mentre il campo #end date (book_to) non solo non sia obbligatorio, ma non deve proprio esserci. In parte ci sono riuscito nascondendolo con css e usando il tag code
lo script js é molto complesso, difficile intervenire senza poter fare delle prove,

come puoi verificare tu stesso il tag "end_date" viene richiamato molte volte in modo diretto non attraverso una variabile che si può controllare

viene utilizzato anche in funzioni importanti, per esempio, il calcolo dei costi

quindi eliminarlo ha effetti collaterali non da poco e mi domando se é possibile, in ogni caso due tentativi,

1 - lasciando js come in origine, potresti provare a modificare html passando sempre il valore null x "end_date"

2 - lasciando tutto come in origine, potresti modificare js assegnando al tag "end_date" lo stesso valore di "start_date" appena questo viene modificato
 

rob4

Nuovo Utente
17 Set 2018
12
0
1
lo script js é molto complesso, difficile intervenire senza poter fare delle prove,

come puoi verificare tu stesso il tag "end_date" viene richiamato molte volte in modo diretto non attraverso una variabile che si può controllare

viene utilizzato anche in funzioni importanti, per esempio, il calcolo dei costi

quindi eliminarlo ha effetti collaterali non da poco e mi domando se é possibile, in ogni caso due tentativi,

1 - lasciando js come in origine, potresti provare a modificare html passando sempre il valore null x "end_date"

2 - lasciando tutto come in origine, potresti modificare js assegnando al tag "end_date" lo stesso valore di "start_date" appena questo viene modificato
Grazie per l'aiuto. Ho provato entrambe le soluzioni, la prima non ha funzionato, mentre la seconda si.
Effettivamente sostituendo i valori end_date con quelli start-date, funziona.
Però si verifica un ultimo problema o fastidio, nel momento in cui cambio la data manualmente, il cambiamento viene effettuato solo al cambio check-in, mentre per il campo check-out mi obbliga a reinserire la data e siccome non mi fa aggiungere lo stesso giorno, mi fa inserire i giorni successivi e questo non va bene. Inoltre se lo lascio vuoto, si verifica il solito problema di attesa pre-prenotazione infinita. Se mi facesse inserire la stessa data anche per il campo check-out, non sarebbe un problema, ma non so perchè mi fa partire dal giorno successivo. C'è un modo per risolverlo dal codice js? Grazie ancora
 

marino51

Utente Attivo
28 Feb 2013
2.674
135
63
Lombardia
nel js che hai postato non trovo nessun tag "check-in" o "check-out" quindi non riesco a suggerire nulla,
dovresti indicare quali sono i tag

in ogni caso é corretto che "check-out" sia superiore a "check-in" di almeno 1 giorno, a meno che non sia prevista la tariffa "daily"
nel qual caso possono essere uguali

vedi se riesci con js a imporre la data "out" quando viene modificata la "in"
 

rob4

Nuovo Utente
17 Set 2018
12
0
1
nel js che hai postato non trovo nessun tag "check-in" o "check-out" quindi non riesco a suggerire nulla,
dovresti indicare quali sono i tag

in ogni caso é corretto che "check-out" sia superiore a "check-in" di almeno 1 giorno, a meno che non sia prevista la tariffa "daily"
nel qual caso possono essere uguali

vedi se riesci con js a imporre la data "out" quando viene modificata la "in"
Hai ragione, scusa, vorrei dire end_date (check-out) e start_date (check-in). Ho caricato il file js che ho modificato aggiungendo start_date in alcune righe al posto di end_date, come mi hai consigliato. http://testsitegenric.altervista.org/property__1_.js
Siccome non ancora esperto in javascript e jquery, potresti dirmi dal file js esattamente in quale righe di codice posso imporre la data out ed in che modo? Se possibile grazie, perchè io ci ho provato, ma non masticando ancora bene javascript, vado più che altro ad intuito, e non sempre mi va bene.
Grazie