Checkbox obbligatorie

  • Creatore Discussione Creatore Discussione Elena
  • Data di inizio Data di inizio

Elena

Nuovo Utente
11 Lug 2006
10
0
0
Ciao a tutti,
ho un form con all'interno due checkbox che devono essere flaggate entrambe per poter rendere il tasto invia cliccabile. Ma qualcosa non va perchè basta che ne flaggo una e il tasto Invia diventa attivo e cliccabile!
:confused:

Vi posto il codice, come posso risolvere?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="it">
<head>

<script>

var checkobj

function agreesubmit(el){
checkobj=el
if (document.all||document.getElementById){
for (i=0;i<checkobj.form.length;i++){ //hunt down submit button
var tempobj=checkobj.form.elements
if(tempobj.type.toLowerCase()=="submit")
tempobj.disabled=!checkobj.checked
}
}
}

function defaultagree(el){
if (!document.all&&!document.getElementById){
if (window.checkobj&&checkobj.checked && window.checkobj2&&checkobj2.checked)
return true
else{
alert("Please read/accept terms to submit form")
return false
}
}
}

</script>

</head>
<body >
<br /><br />
<div align="center">


<form name="agreeform" onSubmit="return defaultagree(this)" action="">
<textarea class="codecontainer" rows="8" name="S1" cols="45" wrap="virtual">Accetta le condizioni</textarea><br>
<input name="agreecheck" type="checkbox" onClick="agreesubmit(this)"><b>Accetto</b><br />
<input name="agreecheck2" type="checkbox" onclick="agreesubmit(this)" />
<strong>Accetto
2</strong><br>
<input type="Submit" value="Submit!" disabled>
</form>

<script>
//change two names below to your form's names
document.forms.agreeform.agreecheck.checked=false
</script>


</div>
<br /><br /><br /><br /><br /><br />
<div align="center">
<a href="http://www.html.it"><img src="file:///C|/Documents%20and%20Settings/emarchesi/Desktop/logo_htmlit.gif" alt="JavaScript scaricato da HTML.it" border="0" width="50" height="50" /></a>
</div>


</body>
</html>
 
Ciao Elena, non l'ho testato, fammi sapere se funziona.

<script>
var selezioni = 0;
function Controlla()
{
if (selezioni < 2)
{
alert("NO");
}
else
{
alert("SI");
}
}
</script>

<form name="modulo">
<input type="checkbox" name="x" value="1" onclick="this.checked ? selezioni++ : selezioni--"> 1
<input type="checkbox" name="x" value="2" onclick="this.checked ? selezioni++ : selezioni--"> 2
<br><br>
<input type="button" value="Controlla" onclick="Controlla()">
</form>
 
Grazie 1000 intanto!
L'ho provato ma il tasto Controlla rimane cliccabile per tutto il tempo. Io invece vorrei che resti "inattivo" (disabled) fino a che entrambi i checkbox non siano flaggati :)
 
non ho provato nemmeno questa... la logica è giusta ma non sono certo che mi sia riuscito al primo tentativo :)

lavoraci un po su se non va

ciao!

<script>
var selezioni = 0;
function Controlla()
{
if (selezioni < 2)
{
document.modulo.bottone.style.disabled = false;
}
else
{
document.modulo.bottone.style.disabled = true;
}
}
</script>

<form name="modulo">
<input type="checkbox" name="x" value="1" onclick="this.checked ? selezioni++ : selezioni--; Controlla()"> 1
<input type="checkbox" name="x" value="2" onclick="this.checked ? selezioni++ : selezioni--; Controlla()"> 2
<br><br>
<input type="button" id="bottone" name="bottone" value="Controlla" disabled>
</form>
 
Dunque sono a questa situazione (scusami ma sono davvero impedita): dopo aver eliminato la voce style da style.disabled funziona a metà, nel senso che

checkbox checked = 0 > tasto Controlla disabled
checkbox checked = 1 > tasto Controlla attivo
checkbox checked = 2 > tasto Controlla disabled

In sostanza devo riuscire a far sì che a checkbox checked = 1 il tasto rimane disabled e diventa attivo solo a checkbox checked = 2 e in più se l'utente toglie il flag da uno o da entrambi i checkbox il tasto deve ritornare disabled...

Un'altra quarantina d'anni e ce la faccio...:mavieni:
 
Ciao Elena :)

Ti ho messo a posto lo script del nostro Luchino :D

<html>
<head>
<script>
var selezioni = 0;
function Controlla()
{
if (selezioni >= 2)
{
document.modulo.bottone.disabled = false;
}
else
{
document.modulo.bottone.disabled = true;
}
}
</script>
</head>
<body>
<form name="modulo">
<input type="checkbox" name="x" value="1" onclick="this.checked ? selezioni++ :

selezioni--; Controlla()"> 1
<input type="checkbox" name="x" value="2" onclick="this.checked ? selezioni++ :

selezioni--; Controlla()"> 2
<br><br>
<input type="button" id="bottone" name="bottone" value="Controlla" disabled>
</form>
</body>
</html>

SaLuT!
:byebye:
 

Discussioni simili