Oggetto modulo realizzazione script
Author: Remo D.
Visited 1156,
Followers 4,
Shared 0
Ho realizzato un modulo come da file allegato e mi sorge la necessità di impostare apposito script che controlla che i campi dopo la prima riga, se utilizzati, vengano compilati regolarmente tutti, senza impostarli come obbligatori, in mancanza viene meno l’invio del modulo. Altresì che il campo “ importo totale” sia il risultato del numero dei nominativi inseriti per € 6,00 tale da eliminare il campo relativo al n. quote.
Chiedo cortesemente aiuto a fronte della mia ignoranza.
Grazie
Posted on the
remo, sblocca il post
https://helpcenter.websitex5.com/en/post/257163
togliendo il "corretto" e continua dall'altra parte così kolasim ti segue meglio, senza pubblicare post doppi... grazie.
... ciao Antonio, è un piacere rivederti......
.
x Remo:
<script>
/** --- controllo form-cart bis x WSx5 by KolAsim -- **/
$( document ).ready(function() { //K>
ritardoK=3;
importounitarioK=6; // euro
setTimeout(function(){ //K0>
divK= '<div id="divK" style="position:relative;width:180px;height:50px;'+
'top:-45px;margin:auto;cursor:pointer"> </div>';
$("#imObjectForm_7_buttonswrap").append(divK);
$("#divK").click(function() {controlloK();} ) //K00>|K00<<
},ritardoK*1000); //K0<<
}) //K<<
//---------------f-K1---------------------------
function controlloK() {//K1>
nK=0;
//----------------1^riga-----------------------
k1= $("#imObjectForm_7_1").val();
k2= $("#imObjectForm_7_2").val();
k3= $("#imObjectForm_7_3").val();
k4= $("#imObjectForm_7_4").val();
k5= $("#imObjectForm_7_5").val();
//----------------2^riga-----------------------
k6= $("#imObjectForm_7_6").val();
k7= $("#imObjectForm_7_7").val();
k8= $("#imObjectForm_7_8").val();
k9= $("#imObjectForm_7_9").val();
k10= $("#imObjectForm_7_10").val();
//----------------3^riga-----------------------
k11= $("#imObjectForm_7_11").val();
k12= $("#imObjectForm_7_12").val();
k13= $("#imObjectForm_7_13").val();
k14= $("#imObjectForm_7_14").val();
k15= $("#imObjectForm_7_15").val();
//----------------4^riga-----------------------
k16= $("#imObjectForm_7_16").val();
k17= $("#imObjectForm_7_17").val();
k18= $("#imObjectForm_7_18").val();
k19= $("#imObjectForm_7_19").val();
k20= $("#imObjectForm_7_20").val();
//----------------5^riga-----------------------
k21= $("#imObjectForm_7_21").val();
k22= $("#imObjectForm_7_22").val();
k23= $("#imObjectForm_7_23").val();
k24= $("#imObjectForm_7_24").val();
k25= $("#imObjectForm_7_25").val();
//-------------------------------------------------
if(k1 != 0 && k2 != 0 && k3 != 0 && k4 != 0 && k5 != 0) {nK+=1;} //K2>|<<
if(k6 != 0 && k7 != 0 && k8 != 0 && k9 != 0 && k10 != 0) {nK+=1;} //K3>|<<
if(k11 != 0 && k12 != 0 && k13 != 0 && k14 != 0 && k15 != 0) {nK+=1;} //K4>|<<
if(k16 != 0 && k17 != 0 && k18 != 0 && k19 != 0 && k20 != 0) {nK+=1;} //K5>|<<
if(k21 != 0 && k22 != 0 && k23 != 0 && k24 != 0 && k25 != 0) {nK+=1;} //K6>|<<
$('#imObjectForm_7_27').val(nK);
$('#imObjectForm_7_28').val(nK*importounitarioK +",00")
$("#imObjectForm_7_form_submit").click();
} //K1<<
</script>
................................................
.
ciao kol, ogni tanto ricavo un minuto per passare sui veccchi amori...
Author
Buongiorno KolAsim.
Prima di tutto grazie per l'aiuto che mi stai dando. Ho caricato lo script inviato. Burtroppo non vedo alcuna azione determinata. sicuramente sbaglio io in qualcosa.
ti riscrivo la url per accedere:
https://www.prolocomontefaito.it/rinnovo.php
email: sestiliop(AT)libero.it
pw: Cesoli83
... come impostto adesso fa il calcolo quando clicchi su invio modulo, ... mi pare che funzioni...
Author
Scusami KolAsim
Non mi fa il controllo che i campi successivi alla prima riga siano completi ossia dovrebbe verificare che sia stato inserito cognome, nome, data di nascita, sesso e c.f in mancanza non dovrebbe attivarsi l'invio. Altresi il calcolo dellle quote e dell'importo totale, in base ai campi compilati dovrebbe apparire prima dell'invio del modulo.
Capisco il disturbo.Grazie
... attualmente ti calcola le righe compilate se complete di tutte le relative voci., giuste o errate che siano, ....tranne per la prima riga che è vincolata...
... dovresti notarlo quando clicchi invio...
... al limite, con un modifica al codice si potrebbe fare in modo che il calcolo avvenga durante la compilazione del modulo...
.
Author
Buongiorno
Il calcolo dell'importo va bene, ma ancor più importante è il controllo di completamento della seconda riga in poi che se non complete deve essere precluso l'invio del modulo come succede per i campi obbligatori.
Grazie e scusami
.. avrai letto quanto detto prima da me in ultima alternativa (al limite ...ecc.), ...e/o forse qualcosa mi sfugge...
... se tutti i campi devono essere obbligatoriamente compilati, non serve fare nessun calcolo, la quota è fissa di 30 euro (5x6)...
... devi solo rendere tutti i campi obbligatori coma la prima riga, ed il controllo lo farà semplicemente il programma...
.
... invece, ...il mio precedente codice, (o quello in eventuale alternativa detta prima), ...controlla solo le righe complete compilate, per cui se sono solo tre righe calcolerà i valori 3 e 18 (3x6)...
.
Author
1) primo caso puo succedere che sia un solo socio a riempire il modulo e quindi non possiamo rendere obbligatori anche gli altri campi;
2) secondo caso di due soci ( il padre che paga anche per il figlio ) la prima riga viene riempita completa dei dati del padre, la seconda riga viene riempita utilizzando solo due campi (es. cognome e nome del figlio) in questo caso è giusto che il codice segni 2 quote ma non deve essere fatto l'invio perché del secondo socio mancano dati.
spero di essere stato chiaro
... attualmente il mio codice, come avrai potuto vedere, conta la riga solo se è completa di dati, congrui o meno che siano...
... per esempio, se adesso compili la 1^riga e la 2^riga, senza compilare le altre caselle obbligatorie(*), cliccando invio ti calcolerà i valori 2 e 12,00
... se nella seconda riga per esempio non completi tutte le celle, lasciandone vuota una, non sarà considerata, e cliccando su invio ti calcolerà i valori 1 e 6,00
... se non attivi le caselle obbligatorie(*), puoi fare tutte le prove anche con le altre righe...
.
Author
OK ! KolAsim
Grazie per l'impegno dedicato. Purtroppo non ho altro mezzo, se non il seguente, per dimostrartelo.
Grazie
... OK ... grazie a te ...
... se poi eventualmente vuoi provare con il metodo di aggiornamento continuo con il calcolo durante la digitazione, non vincolato da pulsante invio, ... avvisami...
.
ciao
.
Author
Sarebbe ottimale, come devo fare aprire un nuovo topic
... rimani pure qui...
... provo a guardare cosa modificare nelle condizioni e poi ti faccio sapere...
... sostituisci il mio precedente codice con questa variante...
... sarà conteggiata ogni riga, anche se non consecutiva (es. 1^ e 4^), ma che sia stata compilata per tutti i propri campi:
<script>
/** --- controllo form-cart bis x WSx5 by KolAsim --- **/
$( document ).ready(function() { //K>
ritardoK=3;
importounitarioK=6; // euro
$('#imObjectForm_7_27').prop("readonly","readonly");
$('#imObjectForm_7_28').prop("readonly","readonly");
setTimeout(function(){ //K0>
controlloK()
},ritardoK*1000); //K0<<
}) //K<<
//---------------f-K1---------------------------
function controlloK() {//K1>
setInterval(function(){ //K2>
nK=0;
//----------------1^riga-----------------------
k1= $("#imObjectForm_7_1").val();
k2= $("#imObjectForm_7_2").val();
k3= $("#imObjectForm_7_3").val();
k4= $("#imObjectForm_7_4").val();
k5= $("#imObjectForm_7_5").val();
//----------------2^riga-----------------------
k6= $("#imObjectForm_7_6").val();
k7= $("#imObjectForm_7_7").val();
k8= $("#imObjectForm_7_8").val();
k9= $("#imObjectForm_7_9").val();
k10= $("#imObjectForm_7_10").val();
//----------------3^riga-----------------------
k11= $("#imObjectForm_7_11").val();
k12= $("#imObjectForm_7_12").val();
k13= $("#imObjectForm_7_13").val();
k14= $("#imObjectForm_7_14").val();
k15= $("#imObjectForm_7_15").val();
//----------------4^riga-----------------------
k16= $("#imObjectForm_7_16").val();
k17= $("#imObjectForm_7_17").val();
k18= $("#imObjectForm_7_18").val();
k19= $("#imObjectForm_7_19").val();
k20= $("#imObjectForm_7_20").val();
//----------------5^riga-----------------------
k21= $("#imObjectForm_7_21").val();
k22= $("#imObjectForm_7_22").val();
k23= $("#imObjectForm_7_23").val();
k24= $("#imObjectForm_7_24").val();
k25= $("#imObjectForm_7_25").val();
//-------------------------------------------------
if(k1 != 0 && k2 != 0 && k3 != 0 && k4 != 0 && k5 != 0) {nK+=1;} //K3>|<<
if(k6 != 0 && k7 != 0 && k8 != 0 && k9 != 0 && k10 != 0) {nK+=1;} //K4>|<<
if(k11 != 0 && k12 != 0 && k13 != 0 && k14 != 0 && k15 != 0) {nK+=1;} //K5>|<<
if(k16 != 0 && k17 != 0 && k18 != 0 && k19 != 0 && k20 != 0) {nK+=1;} //K6>|<<
if(k21 != 0 && k22 != 0 && k23 != 0 && k24 != 0 && k25 != 0) {nK+=1;} //K7>|<<
$('#imObjectForm_7_27').val(nK);
$('#imObjectForm_7_28').val(nK*importounitarioK +",00")
},1000); //K2<<
} //K1<<
</script>
...........................................................
.
Author
Perfetto " SEI GRANDE ".
Il linguaggio di programmazione che usi è Javascript?
questo è il mio cell. 3469732700
... sì, jvascript, o come nel codice precedente, l'estensione jQuery, visto che il programmau incorpora tale libreria facilitando...
... il mio contatto per quanto possibile è questo Forum...
.
ciao
.
Author
Buongiorno Kolasim
Ho inserito nel modulo, per migliorarne la fruibilità, dei "campi separatore" ed alla fine del codice uno script per aumentare la grandezza dei pulsanti di scelta. Tutto ciò ha determinato il malfunzionamento del modulo, credo dovuto ai riferimenti dei campi non più validi. Ho dovuto sospendere la pubblicazione della pagina. Ti sarei infinitamente grato se cortesemente puoi rielaborarlo. di seguito l'url della pagina:
https://www.prolocomontefaito.it/rinnovo.html
... OK ... ho visto ... prova a sostituire il codice con questo:
<script>
/** --- controllo form-cart bis x WSx5 by KolAsim --- **/
$( document ).ready(function() { //K>
ritardoK=3;
importounitarioK=6; // euro
$('#imObjectForm_7_27').prop("readonly","readonly");
$('#imObjectForm_7_28').prop("readonly","readonly");
setTimeout(function(){ //K0>
controlloK()
},ritardoK*1000); //K0<<
}) //K<<
//---------------f-K1---------------------------
function controlloK() {//K1>
setInterval(function(){ //K2>
nK=0;
//----------------1^riga-----------------------
k1= $("#imObjectForm_7_1").val();
k2= $("#imObjectForm_7_2").val();
k3= $("#imObjectForm_7_3").val();
k4= $("#imObjectForm_7_4").val();
k5= $("#imObjectForm_7_5").val();
//----------------2^riga-----------------------
k6= $("#imObjectForm_7_7").val();
k7= $("#imObjectForm_7_8").val();
k8= $("#imObjectForm_7_9").val();
k9= $("#imObjectForm_7_10").val();
k10= $("#imObjectForm_7_11").val();
//----------------3^riga-----------------------
k11= $("#imObjectForm_7_13").val();
k12= $("#imObjectForm_7_14").val();
k13= $("#imObjectForm_7_15").val();
k14= $("#imObjectForm_7_16").val();
k15= $("#imObjectForm_7_17").val();
//----------------4^riga-----------------------
k16= $("#imObjectForm_7_19").val();
k17= $("#imObjectForm_7_20").val();
k18= $("#imObjectForm_7_21").val();
k19= $("#imObjectForm_7_22").val();
k20= $("#imObjectForm_7_23").val();
//----------------5^riga-----------------------
k21= $("#imObjectForm_7_25").val();
k22= $("#imObjectForm_7_26").val();
k23= $("#imObjectForm_7_27").val();
k24= $("#imObjectForm_7_28").val();
k25= $("#imObjectForm_7_29").val();
//-------------------------------------------------
if(k1 != 0 && k2 != 0 && k3 != 0 && k4 != 0 && k5 != 0) {nK+=1;} //K3>|<<
if(k6 != 0 && k7 != 0 && k8 != 0 && k9 != 0 && k10 != 0) {nK+=1;} //K4>|<<
if(k11 != 0 && k12 != 0 && k13 != 0 && k14 != 0 && k15 != 0) {nK+=1;} //K5>|<<
if(k16 != 0 && k17 != 0 && k18 != 0 && k19 != 0 && k20 != 0) {nK+=1;} //K6>|<<
if(k21 != 0 && k22 != 0 && k23 != 0 && k24 != 0 && k25 != 0) {nK+=1;} //K7>|<<
$('#imObjectForm_7_31').val(nK);
$('#imObjectForm_7_32').val(nK*importounitarioK +",00")
},1000); //K2<<
} //K1<<
</script>
............................
.
ciao
.
Author
Ok! sei GRANDE. Grazie mille
... OK ... ho visto che hai già modificato, e funziona...
ciao
.