Funzione disabilita submit con checkbox privacy.

otto9due

Utente Attivo
22 Feb 2014
529
21
28
Ho trovato una funzione che mi permette di disabilitare il pulsante di invio di un form fino a quando il check privacy non è impostato su "checked". Se c'è un solo check all'inteno di una pagina funziona egregiamente.. Il problema arriva quando ce ne sono due di form nella stessa pagina, perchè funziona solo il primo.
Vi lascio qui la funzione..
Codice:
<script language="javascript">
		function cambiaStato (chkItem){
		if($(chkItem).attr("checked"))
		$("#submitButton").removeAttr("disabled").removeClass( "nopuntatore" );
		else
		$("#submitButton").attr("disabled","true").addClass( "nopuntatore" );
		}
	</script>

<input id="mioid" class="miaclasse" name="accetto" type="checkbox" onclick="cambiaStato(this);">
<input class="button nopuntatore" id="submitButton" type="submit" name="suggerisci" value="Invia" disabled="true">

2 Domande...
1) Como posso gestire due checkbox o più di due utilizzando sempre la stessa funzione senza che interferiscano tra loro?
2) "(chkItem)" Sarebbe il parametro della funzione? Ecco perchè nel richiamare la funzione si utilizza onclick="cambiaStato(this);"? This sta per "questo" ma " this " cosa rappresenta e quando può essere usato?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
1)
a me non funziona nemmeno con una sola checkbox
meglio scrivere cosi
Codice:
if($(chkItem).is(":checked"))
2)
this è un puntatore all'elemento che stai passando, nel tuo caso un input, in jquery per riferirsi ad un elemento specifico lo si racchiude tra il dollaro e le parentesi $()
Es
Codice:
$(".miaclasse").
si riferisce a tutti gli elementi che hanno classe = a miaclasse
Codice:
$("#mioid").
si riferisce all'ìelemento che ha come id mioid
Codice:
$("p").
si riferisce a tutti i tag <p>
 

otto9due

Utente Attivo
22 Feb 2014
529
21
28
Ti ringrazio per la gentile spiegazione. Il selettore avevo capito qual'era, avevo letto qualcosa in proposito, difatti la parte di aggiungiclasse e rimuovi classe l'ho aggiunta io. Era il this il problema, ma grazie alla tua spiegazione ora è chiaro..
Per quanto riguarda il funzionamento a me il singolo mi funziona, ma in coppia no.. Chissà xchè..
 

otto9due

Utente Attivo
22 Feb 2014
529
21
28
Funziona alla stessa maniera se faccio come dici tu.. Questo è veramente un mistero...
Qualcuno riesce a capire il perchè?? Dovrebbe funzionare su tutti e due?
Dovrei forse cambiare quel "(chkItem)" che non so neanche cosa sia?? Cercando a questo punto di sostituire il selettore con qualcosa di più preciso boo..
Grazie
 
Ultima modifica:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Non erano solo i due punti che avevo aggiunto : ho cambiato anche la funzione attr() con is()
a me cosi funziona
HTML:
<script language="javascript">
            function cambiaStato(chkItem) {
                if ($(chkItem).is(":checked"))
                    $("#submitButton").removeAttr("disabled").removeClass("nopuntatore");
                else
                    $("#submitButton").attr("disabled", "true").addClass("nopuntatore");
            }
        </script>
<input class="miaclasse" name="altro" type="checkbox"/>
    <input id="mioid" class="miaclasse" name="accetto" type="checkbox" onclick="cambiaStato(this);"/>
    <input class="button nopuntatore" id="submitButton" type="submit" name="suggerisci" value="Invia" disabled="true">
 

otto9due

Utente Attivo
22 Feb 2014
529
21
28
Sto tentando e ritentando.. ma nulla.. Ho provato anche a selezionarli in modo diverso.. tramite il name diverso ma nulla..
Se volessi fare due funzioni identiche che si riferiscono a due checkbox diversi dite che funzionerebbe?

E se si come dovrei farle? Come sostituisco quel "this" di cambiaStato(this)?
E come sostituisco "chkItem"?? Che ancora non ho capito cosa rappresenta :p

Ci sarà un metodo per farli convivere :crying: Grazie..
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Mi sa che non ho capito cosa vuoi fare.
Un checkbox abilita/disabilita il submit, l'altro cosa deve fare ?
Riposta il codice che hai scritto compreso l'html
 

otto9due

Utente Attivo
22 Feb 2014
529
21
28
In pratica ho due checkbox nella pagina, ognuno dei quali dovrebbe abilitare un pulsante ( e solo quello )..
Sono per la verità due form in un tab.. Quindi risiedono effettivamente sulla stessa pag.
Per ora ho temporaneamente risolto così:
Codice:
    <!-- Funzione check -->
	<script language="javascript">
		function cambiaStato (chkItem){
		if($(chkItem).is(":checked"))
		$("#submitButton").removeAttr("disabled").removeClass( "nopuntatore" );
		else
		$("#submitButton").attr("disabled","true").addClass( "nopuntatore" );
		}
	</script>
    <script language="javascript">
		function cambiaStato2 (chkItem){
		if($(chkItem).is(":checked"))
		$("#submitButton2").removeAttr("disabled").removeClass( "nopuntatore2" );
		else
		$("#submitButton2").attr("disabled","true").addClass( "nopuntatore2" );
		}
	</script>

Se avete idee migliori rimango in attesa :p
Grazie e buon fine settimana.
 
Discussioni simili
Autore Titolo Forum Risposte Data
B Codice che disabilita la funzione di Copia Schermo? Javascript 1
P Implementazione funzione FileReader Javascript 0
P Funzione copia multipla. Javascript 2
P Funzione jQuery Ajax invio file a php jQuery 1
A Funzione read URL PHP 6
F Funzione Glob - ricerca file contenente una parola PHP 1
A Mail con funzione mail() riconosciute come spam PHP 9
M Utilizzare la funzione mysql_num_rows() in PHP 5 PHP 3
A funzione iconv () non mi funziona PHP 4
D Come usare funzione php PHP 6
Y verificare condizione dopo esecuzione della funzione Programmazione 0
IClaude Funzione Javascript Javascript 8
A Funzione share come modificarla Facebook 0
L funzione onclik con seno e coseno non va Javascript 3
L funzione onclick non va Javascript 26
G modifica corretta funzione da eregi() a preg_match() PHP 3
Shyson Modificare funzione php PHP 15
L pdo (stampare un valore con ritorno a funzione) PHP 0
elpirata Funzione conversione da minuti in ore Javascript 0
@ [MS Access] Funzione Iif..is null... Database 0
F Funzione deprecata in PHP7 PHP 1
G [MS Access] Funzione ARROTONDA non definita nell'espressione MS Access 1
max1974 [Javascript] Funzione Errata procedura Javascript 2
pjtertdj Visualizzazione dati in php da mysql con funzione matematica in javascript PHP 1
Domenico_Falco1 Associare una stessa funzione get a due eventi a.click con classi differenti Ajax 6
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2
L Problema funzione mail() PHP PHP 3
elpirata [Javascript] Lo script alle volte funzione altre volte no Javascript 0
V [Visual Basic] Richiamare funzione su modulo per restituire list Visual Basic 0
R [Photoshop] funzione colore automatico Photoshop 0
maxnegri [PHP]Funzione di calcolo prezzo di una camera in un range di date PHP 62
L [PHP] problema count messo in una funzione. PHP 1
Monital funzione php si ripete due volte PHP 6
GiErre [PHP] [HTML] Disabilitare un link in funzione della piattaforma PHP 7
Monital Funzione php e campo database come variabile PHP 6
M Recuperare ID e usarlo in funzione jQuery 2
M PHP - Funzione non e scrive il risultato PHP 3
R [Javascript] Rendere una funzione sempre visibile Javascript 2
M funzione mysql che ritorna i microsecondi a partire dal 1-1-1970 MySQL 3
batmanLF [MySQL] Problema funzione SUM MySQL 1
F [PHP] La funzione setcookie PHP 0
F [Photoshop] sovrapporre due immagini usando funzione batch Photoshop 0
otto9due Capire la funzione del parametro event passato alla funzione.. jQuery 1
A [Javascript] tabella dinamica e onchange su funzione Javascript 1
M Problema con connessione MySqli e funzione PHP 2
C [RISOLTO][PHP] Funzione ONclick PHP 14
A [PHP] Problema invio mail con funzione mail() PHP 3
C Creazione di una funzione per il filtraggio dei campi di un db Presentati al Forum 0
C richiamare una funzione in un altro script php PHP 1
P [Javascript] Inserire una nuova condizione in una funzione Javascript 3

Discussioni simili