Newsgroup: it.comp.lang.javascript
Titolo: Risposta x Alen Cappelletti

<html>
<head>
<title></title>
<body>
<script>
function disable_enable(n){
(n=="e")?document.forms["form1"].attivita[6].disabled=false:document.forms["
form1"].attivita[6].disabled=true;document.forms["form1"].attivita[6].value=
"";
}
function controllacheckBox(){
 var result;
    for(i=0;i<document.forms[0].attivita.length;i++){
        if(document.forms[0].attivita[i].checked==true){
         alert("ok");
         result=true;
         break;
        }
        else{
         alert("no check");
         result=false;
        }
    }
    return result;
}
function invia(){
 (controllacheckBox())?alert("parte"):alert("Non parte");
 //naturalmente togli gli alert ed inserisci le forms.submit(); cioč
migliorala e fammi risapere.
 //PS, nella prima funzione ho tolto il 7 nell'array ed ho messo 6; andava
in errore
}
</script>
<form name="form1">
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('e')">
<input type="text" name="attivita" id="Alternative" disabled>scrivila tu<br>
<input type="button" value="SUBMIT" onClick="invia()"/>
</form>
</body>
</html>

 ha scritto nel messaggio
news:b1ddgg$124prh$1...@ID-180367.news.dfncis.de...
Ciao Andrea, grazie del tuo esempio, perfetto ora ho capito e stò cercando
di miglioralo.
Vorrei capire il tipo di errore che commetto quando introduco altri
elementi...
ecco il cod...
E' sbagliato fare 3 cicli...finchè è uno va bene, ma quando ne aggiungo
altri non mi funziona...poi ci sarebbero altri campi ma come ti ho detto ci
voglio arrivare QUASI con le mie forze , altrimenti perdo il divertimento...
mi daresti ancora una mano?
Grazie
A.
--------------------
<html>
<head>
<title></title>
<body>
<script>
function disable_enable(n)
{
(n=="e")?document.forms["form1"].attivita[6].disabled=false:document.forms["
form1"].attivita
//qui è spezzatosu due righe occhio!!!
[6].disabled=true;document.forms["form1"].attivita[6].value="";
}
function controllacheckBox()
{
var errors = ''
  for(i=0;i<document.forms["form1"].attivita.length;i++){
   (document.forms["form1"].attivita[i].checked)?null:errors +='-
Attività!.\n';
    }
 for(y=0;i<document.forms["form1"].dipendenti.length;y++){
  (document.forms["form1"].dipendenti[y].checked)?null:errors +='-
Dipendenti!.\n';
    }
 for(z=0;z<document.forms["form1"].Distributore.length;y++){
  (document.forms["form1"].Distributore[y].checked)?null:errors +='-
Distributore!.\n';
    }
 (errors)?alert('Il form non può essere processato:\n'+errors):null;
}
</script>
<form name="form1">
<p>
<strong>Settore</strong><br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('e')">
<input type="text" name="attivita" id="Alternative" disabled>
scrivila tu<br>
<br>
<strong>Personale</strong><br>
<input type="radio" name="dipendenti" value="<5">
&lt;5
<input type="radio" name="dipendenti" value="5/10">
5/10
<input type="radio" name="dipendenti" value="10/30">
10/30
<input type="radio" name="dipendenti" value="30/50">
30/50&nbsp;
<input type="radio" name="dipendenti" value="&gt;50">
&gt;50</p>
<p><strong>Concorrenza</strong><br>
<input name="Distributore" type="checkbox" id="Distributore"
value="Actebis">
                          Actebis
<input name="Distributore" type="checkbox" id="Distributore" value="Algol">
                          Algol
<input name="Distributore" type="checkbox" id="Distributore"
value="Assotrade">
                          Assotrade
<input name="Distributore" type="checkbox" id="Distributore" value="Data
Base">
                          Data Base</p>
<p>
<input type="button" value="SUBMIT" onClick="controllacheckBox()"/>
</p>
</form>
</body>
</html>

 ha scritto nel messaggio
news:b1ddgg$124prh$1...@ID-180367.news.dfncis.de...
-----------------------------------------------
Ciao,
ho fatto un altro passo in avanti da solo, penso di aver capito la struttura
di questi cicli...,
ma ora mi riportano la sfilza intera di elementi nella finestra di avviso e
non solo uno.
Come devo fare per far uscire solo uno per tipo?
Eventualmente č possibile fare tutto questo con un solo ciclo?
Grazie e ciao Alen
----------------------------------------------
<html>
<head>
<title></title>
<script>
function disable_enable(n)
{
(n=="e")?document.forms["form1"].attivita[6].disabled=false:document.forms["
form1"].attivita
//spezzato su due righe...
[6].disabled=true;document.forms["form1"].attivita[6].value="";
}
function controllacheckBox()
{
var errors = ''
    for(i=0;i<document.forms["form1"].attivita.length;i++){
        if(document.forms["form1"].attivita[i].checked){
        errors = ''
  break;
        }
        else{
        errors += 'ATTIVITA!\n';
        }
    }
 for(y=0;y<document.forms["form1"].dipendenti.length;y++){
        if(document.forms["form1"].dipendenti[y].checked){
        errors = ''
  break;
        }
        else{
        errors += 'Dipendenti!\n';
        }
    }
 for(z=0;z<document.forms["form1"].Distributore.length;z++){
        if(document.forms["form1"].Distributore[z].checked){
        errors = ''
  break;
        }
        else{
        errors += 'Distributore!\n';
        }
    }
 if (errors!=''){
  alert('Il form non puň essere processato:\n'+errors);
 }
}
</script>
</head>
<body>
<form name="form1">
<p>
<strong>Attivit&agrave;</strong><br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('e')">
<input type="text" name="attivita" id="Alternative" disabled>
scrivila tu<br>
</p>
<p><strong>Personale</strong><br>


 ha scritto nel messaggio
news:b1ddgg$124prh$1...@ID-180367.news.dfncis.de...
OK ci sono riuscito!!
--------------------------------
Ma non è possibile fare solo un ciclo invece che 3.
Sono già contento di esserci riuscito da solo (grazie ai vostri aiuti), ma
ora mi piacerebbe una bella lustrata sul codice...
Grazie
A.
---------------------------------
<html>
<head>
<title></title>
<script>
function disable_enable(n)
{
(n=="e")?document.forms["form1"].attivita[6].disabled=false:document.forms["
form1"].attivita[6].disabled=true;document.forms["form1"].attivita[6].value=
"";
}
function controllacheckBox()
{
var errors = '';
var AttNumb = 0
var DipNumb = 0
var DisNumb = 0
    for(i=0;i<document.forms["form1"].attivita.length;i++){
        if(document.forms["form1"].attivita[i].checked){
  AttNumb += +1
  break;
        }
    }
 (AttNumb>0)?null:errors += 'ATTIVITA!\n';
 for(y=0;y<document.forms["form1"].dipendenti.length;y++){
        if(document.forms["form1"].dipendenti[y].checked){
  DipNumb += +1
  break;
        }
    }
 (DipNumb>0)?null:errors += 'Dipendenti\n';
 for(z=0;z<document.forms["form1"].Distributore.length;z++){
        if(document.forms["form1"].Distributore[z].checked){
  DisNumb += + 1
        }
    }
 (DisNumb>1)?null:errors += 'Almeno 2 scelte su Distributore\n';
 (errors!='')?alert('Il form non può essere processato:\n'+errors):null;
}
</script>
</head>
<body>
<form name="form1">
<p>
<strong>Attivit&agrave;</strong><br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('d')">
attivit&agrave; <br>
<input type="radio" name="attivita" value="radiobutton"
onclick="javascript:disable_enable('e')">
<input type="text" name="attivita" id="Alternative" disabled>
scrivila tu<br>
</p>
<p><strong>Dipendenti</strong><br>
<input type="radio" name="dipendenti" value="<5">
&lt;5
<input type="radio" name="dipendenti" value="5/10">
5/10
<input type="radio" name="dipendenti" value="10/30">
10/30
<input type="radio" name="dipendenti" value="30/50">
30/50&nbsp;
<input type="radio" name="dipendenti" value="&gt;50">
&gt;50</p>
<p><strong>Distributore</strong><br>


 ora mi piacerebbe una bella lustrata sul codice...
function controllacheckBox(){
    var i=-1,er=''
    with(document.forms["form1"]){
        while(++i< attivita.length){
             i<attivita.length?er+=(attivita[i].checked?'x':''):null
             i<dipendenti.length?er+=(dipendenti[i].checked?'y':''):null
             i<Distributore.length?er+=(Distributore[i].checked?'z':''):null
         }
     }
er.length<=3?alert(er.indexOf("x")==-1?'manca
ATTIVITA\'':er.indexOf("y")==-1?'manca DIPENDENTI':'almeno due
DISTRIBUTORE'):document.forms["form1"].submit()
}
Dentro al ciclo while, puoi aggiungere altri elementi.
--
Ciao
  [web]   
www.gfcarlotti.it
   [mail]   
fra...@gfcarlotti.it
    [pgp]  
www.gfcarlotti.it/pgp/franco.asc
    [Standards are bullshit. XHTML is a crock. The W3C is irrelevant.
 
http://diveintomark.org/archives/2003/01/13.html#semantic_obsolescence
    [Mark Pilgrim]]