Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    residenza
    Milano
    Messaggi
    217

    Problema controllo campo radio

    Ragazzi ho un form con dei campi radio; io vorrei che quando clicco su un determinato campo radio si attivi anche il campo TXT abbinato.
    Fino a quando era un solo radio sono riuscito nel tentativo ma con più radio non funziona.
    Io ho creato il codice in questo modo; attendo che qualche esperto mi POSSO AIUTARE

    codice:
    <script type = javascript>
    
    
    function radioChecked() {
    
    radioObj = document.form.ST.value;
       if(!radioObj)
                     return false;
             var radioLength = radioObj.length;
             if(radioLength == undefined)
                     if(radioObj.checked)
                             return true;
                     else
                             return false;
             for(var i = 0; i < radioLength; i++) {
                     if(radioObj[i].checked) {
                         {document.form.nr.disabled=false;}
    else
    {document.form.nr.disabled=true;}                    
     }
             }
             return false;
    }
    </script>
    
    
    <form method="POST" action="acquista.asp" name="preventivo">
    		<table border="0" width="600" id="table1">
    	<tr>
    		
    			<td></td>
    			<td>Tipologia Spazio Espositivo</td>
    			<td align="center">€/mq</td>
    			<td align="center">Costo</td>
    	</tr>
    	<tr>
    		<td>
    			<input type="radio" value="ST3MQ" name="ST" onclick="radioChecked()"></td>
    		<td>Kit Stand da 3 mq</td>
    		<td align="center">
    		<input type="text" name="nr" id="nr" value="0" size="4" disabled></td>
    		<td align="center"><input type="text" name="totale" id="totale" value="1500" readonly></td>
    	</tr>
    	<tr>
    		<td height="22"><input type="radio" value="ST6MQ" name="ST" onclick="ck()"></td>
    		<td height="22">Kit Stand da 6 mq</td>
    		<td height="22" align="center">
    		<input type="text" name="nr1" id="nr1" value="0" onchange="calcola()" size="4" disabled></td>
    		<td height="22" align="center">
    		<input type="text" name="totale1" id="totale1" value="1980"></td>
    	</tr>
    	<tr>
    		<td><input type="radio" value="STPMQ" name="ST"></td>
    		<td>Kit Stand personalizzato (min 9 mq)</td>
    		<td align="center">
    		<input type="text" name="nr2" id="nr2" value="0" onchange="calcola()" size="4"/></td>
    		<td align="center">
    		<input type="text" name="totale2" id="totale2" value="0" size="20"></td>
    	</tr>
    </table>
    </form>

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Prova questo.
    Codice PHP:
    <script language="JavaScript" type="text/javascript">
    <!--
    function 
    radioChecked() {

    radioObj document.getElementsByName("ST");
    var 
    radioLength radioObj.length;
    for(
    0radioLengthi++) {
      
    textId "nr"+i;
      if(
    radioObj[i].checked) {
         
    document.getElementById(textId).disabled false;
        } else {
       
    document.getElementById(textId).disabled true;
      }
     }
    }

    function 
    calcola() {
     return 
    0;
    }
    //-->
    </script>


    <form method="POST" action="acquista.asp" name="preventivo" id="prev">
            <table border="0" width="600" id="table1">
        <tr>
            
                <td> </td>
                <td>[b]Tipologia Spazio Espositivo[/b]</td>
                <td align="center">[b]€/mq[/b]</td>
                <td align="center">[b]Costo[/b]</td>
        </tr>
        <tr>
            <td>
                <input type="radio" value="ST3MQ" name="ST" onclick="radioChecked()"></td>
            <td>Kit Stand da 3 mq</td>
            <td align="center">
              <input type="text" name="nr" id="nr0" value="0" size="4" disabled></td>
            <td align="center">
             <input type="text" name="totale" id="totale" value="1500" readonly>
            </td>
        </tr>
        <tr>
            <td height="22">
             <input type="radio" value="ST6MQ" name="ST" onclick="radioChecked()">
            </td>
            <td height="22">Kit Stand da 6 mq</td>
            <td height="22" align="center">
             <input type="text" name="nr1" id="nr1" value="0" onchange="calcola()" size="4" disabled>
            </td>
            <td height="22" align="center">
             <input type="text" name="totale1" id="totale1" value="1980">
            </td>
        </tr>
        <tr>
            <td>
             <input type="radio" value="STPMQ" name="ST" onclick="radioChecked()">
            </td>
            <td>Kit Stand personalizzato (min 9 mq)</td>
            <td align="center">
             <input type="text" name="nr2" id="nr2" value="0" onchange="calcola()" size="4" disabled/>
            </td>
            <td align="center">
             <input type="text" name="totale2" id="totale2" value="0" size="20">
            </td>
        </tr>
    </table>
    </form> 
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    residenza
    Milano
    Messaggi
    217
    Badaze sei un grande ....
    Ho un altro problemino; sto creando il controllo dei campi all'invio del form e vorrei dirgli che se un determinato radio è CHECKED e il relativo valore nel campo testo è 0 deve comparire il messaggio di alert.
    Io ho fatto cosi il codice ma non so dove ho sbagliato perché proprio non vuole saperne di fare il controllo

    codice:
    function ckform() { 
    
    valore1 = 0;
    for(i = 0; i < preventivo.BM.length; i++) { 
      if( preventivo.BM[i].checked) { valore1 = preventivo.BM[i].value;}
    }
    if (valore1=="0") {
    alert("seleziona almeno una quantità");
    return false;
    }
    return true;}

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Analisi della function:
    codice:
    function ckform() { 
    
    valore1 = 0; <-- le variabili meglio stanziarle con var
    for(i = 0; i < preventivo.BM.length; i++) { <-- usa una sintassi estesa document.NomeForm.NomeCampo (document.preventivo.BM.....)
      if( preventivo.BM[i].checked) { valore1 = preventivo.BM[i].value;}
    }
    if (valore1=="0") {<-- la variabile valore1 è un numero non una stringa il controllo if(valore1==0)
    alert("seleziona almeno una quantità");
    return false;
    }
    return true;}
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2001
    residenza
    Milano
    Messaggi
    217
    Ho provato ad rivedere il codice ma non effettua il controllo dei campi dove sbaglio?

    codice:
    function ckform() { 
    
    valore = null;
    for(i = 0; i < preventivo.ST.length; i++) { 
      if( preventivo.ST[i].checked) { valore = preventivo.ST[i].value;}
    }
    if (valore==null) {
    alert("seleziona almeno un radio");
    return false;
    }
    
    var valore1 = 0; 
    for(i = 0; i < preventivo.BM.length; i++) { 
    
      if( preventivo.BM[i].checked) { valore1 = preventivo.BM[i].value;}
    }
    if (valore1=0) 
    {alert("seleziona almeno una quantità");
    return false;
    }
    
    
    
    return true;}

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2001
    residenza
    Milano
    Messaggi
    217
    Mi aiutate a correggere lo script xke a me sembra sostanzialmente corretto e non capisco come mai non vada.
    Vorrei pero far presente che i campi sono nello stato DISABLED quando non ci sono radio spuntati


    codice:
    
    function ckform() { 
    
    primovalore = document.getElementsByName("ST"); 
    var radio = primovalore.length; 
    secondovalore = document.getElementsByName("BM"); 
    var radio1 = secondovalore.length; 
    
    for(i = 0; i < radio; i++) 
    { if( radio[i].checked) { valore = preventivo.ST[i].value;}
    if (valore==null) {
    alert("seleziona almeno un radio");
    document.preventivo.ST.focus(); 
    return false;
    }
    
    
    for(i = 0; i < radio1; i++) 
    
    { if( radio1[i].checked) && (preventivo.nr[i+3].value=0;)) }
    
    { alert("seleziona almeno una quantità");
    document.preventivo.nr[i+3].focus(); 
    return false; }
    return true;}

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    primovalore[i].checked al posto di radio[i].checked

    Almeno questo.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    radioObj1 = document.getElementsByName("BM");
    var radioLength1 = radioObj1.length;

    al posto di

    radioObj1 = document.getElementsByName("BM");
    var radioLength1 = radioObj.length;

    forse ce ne sono altri.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2001
    residenza
    Milano
    Messaggi
    217
    Riposto codice corretto

    codice:
    <script type="text/javascript">
    function ckform() { 
    
    primovalore = document.getElementsByName("ST"); 
    var radio = primovalore.length; 
    secondovalore = document.getElementsByName("BM"); 
    var radio1 = secondovalore.length; 
    
    for(i = 0; i < radio; i++) 
    { if( primovalore[i].checked) { valore = preventivo.ST[i].value;}
    if (valore==null) {
    alert("seleziona almeno un radio");
    document.preventivo.ST.focus(); 
    return false;
    }
    
    
    for(i = 0; i < radio1; i++) 
    
    { if( secondovalore[i].checked) && (preventivo.nr[i+3].value=0;)) }
    
    { alert("seleziona almeno una quantità");
    document.preventivo.nr[i+3].focus(); 
    return false; }
    return true;} 
    
    </script>
    <form method="POST" action="acquista.asp" name="preventivo" class="preventivo" onsubmit="ckform()">
            <table border="0" width="600" id="table1">
                <tbody>
                    <tr>
                        <td></td>
                        <td>Tipologia Spazio Espositivo</td>
                        <td align="center">&euro;/mq</td>
                        <td align="center">Costo</td>
                    </tr>
                    <tr>
                        <td><input type="radio" value="ST3MQ" name="ST" onclick="radioChecked()" /></td>
                        <td>Kit Stand da 3 mq</td>
                        <td align="center"><input type="text" name="nr0" id="nr0" value="0" onchange="calcola()" size="4" disabled /></td>
                        <td align="center"><input type="text" name="totale0" id="totale0" value="1500" /></td>
                    </tr>
                    <tr>
                        <td height="22"><input type="radio" value="ST6MQ" name="ST" onclick="radioChecked()"/></td>
                        <td height="22">Kit Stand da 6 mq</td>
                        <td height="22" align="center"><input type="text" name="nr1" id="nr1" value="0" onchange="calcola()" size="4" disabled/></td>
                        <td height="22" align="center"><input type="text" name="totale1" id="totale1" value="1980" /></td>
                    </tr>
                    <tr>
                        <td><input type="radio" value="STPMQ" name="ST" onclick="radioChecked()"/></td>
                        <td>Kit Stand personalizzato (min 9 mq)</td>
                        <td align="center"><input type="text" name="nr2" id="nr2" value="0" onchange="calcola()" size="4" disabled/></td>
                        <td align="center"><input type="text" name="totale2" id="totale2" value="0" size="20" /></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                        <td align="center"></td>
                        <td align="center"></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>Pacchetto B-Matching</td>
                        <td align="center">Quantit&agrave;</td>
                        <td align="center">Costo</td>
                    </tr>
                    <tr>
                        <td><input type="radio" value="BM05" name="BM"	 onclick="radioChecked1()"/></td>
                        <td>B-Matching 5 incontri</td>
                        <td align="center"><input type="text" name="nr3" id="nr3" value="0" onchange="calcola()" size="4" disabled/></td>
                        <td align="center"><input type="text" name="totale3" id="totale3" value="1300" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="radio" value="BM10" name="BM" onclick="radioChecked1()"/></td>
                        <td>B-Matching 10 incontri</td>
                        <td align="center"><input type="text" name="nr4" id="nr4" value="0" onchange="calcola()" size="4" disabled /></td>
                        <td align="center"><input type="text" name="totale4" id="totale4" value="1500" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="radio" value="BM15" name="BM" onclick="radioChecked1()"/></td>
                        <td>B-Matching 15 incontri</td>
                        <td align="center"><input type="text" name="nr5" id="nr5" value="0" onchange="calcola()" size="4" disabled/></td>
                        <td align="center"><input type="text" name="totale5" id="totale5" value="1800" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="radio" value="BM20" name="BM" onclick="radioChecked1()"/></td>
                        <td>B-Matching 20 incontri</td>
                        <td align="center"><input type="text" name="nr6" id="nr6" value="0" onchange="calcola()" size="4" disabled/></td>
                        <td align="center"><input type="text" name="totale6" id="totale6" value="2000" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="radio" value="BM25" name="BM" onclick="radioChecked1()"/></td>
                        <td>B-Matching 25 incontri</td>
                        <td align="center"><input type="text" name="nr7" id="nr7" value="0" onchange="calcola()" size="4"  disabled/></td>
                        <td align="center"><input type="text" name="totale7" id="totale7" value="2500" size="20" /></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                        <td align="center"></td>
                        <td align="center"></td>
                    </tr>
                    <tr>
                        <td height="23"></td>
                        <td height="23">Pacchetto Workshop</td>
                        <td align="center">Quantit&agrave;</td>
                        <td align="center">Costo</td>
                    </tr>
                    <tr>
                        <td><input type="radio" value="WK30" name="WK"  onclick="radioChecked2()"/></td>
                        <td>Workshop da 30 minuti</td>
                        <td align="center"><input type="text" name="nr8" id="nr8" value="0" onchange="calcola()" size="4" disabled/></td>
                        <td align="center"><input type="text" name="totale8" id="totale8" value="2500" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="radio" value="WK45" name="WK" onclick="radioChecked2()"/></td>
                        <td>Workshop da 45 minuti</td>
                        <td align="center"><input type="text" name="nr9" id="nr9" value="0" onchange="calcola()" size="4" disabled/></td>
                        <td align="center"><input type="text" name="totale9" id="totale9" value="2500" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="radio" value="WK60" name="WK" onclick="radioChecked2()"/></td>
                        <td>Workshop da 60 minuti</td>
                        <td align="center"><input type="text" name="nr10" id="nr10" value="0" onchange="calcola()" size="4" disabled/></td>
                        <td align="center"><input type="text" name="totale10" id="totale10" value="2500" size="20" /></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                        <td align="center"></td>
                        <td align="center"></td>
                    </tr>
                    <tr>
                        <td><input type="radio" name="RKIT" value="KITSTAND" /></td>
                        <td>Riscatto Kit Stands</td>
                        <td align="center"><input type="text" name="nr11" id="nr11" value="0" onchange="calcola()" size="4" /></td>
                        <td align="center"><input type="text" name="totale11" id="totale11" value="100" size="20" /></td>
                    </tr>
                    <tr>
                        <td><input type="hidden" name="Sconto" value="Sconto" /></td>
                        <td><font color="#FF0000">Sconto 50%</font></td>
                        <td align="center"><input type="hidden" name="qtasc" value="-" /></td>
                        <td align="center"><input type="text" name="scontistica" id="scontistica" value="0" size="20" /></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                        <td align="center"></td>
                        <td align="center"></td>
                    </tr>
                    <tr>
                        <td><input type="hidden" name="TOT" value="TOTALE" /></td>
                        <td>TOTALE</td>
                        <td align="center"><input type="hidden" name="qta" value="-" /></td>
                        <td align="center"><input type="text" name="sommatot" id="sommatot" value="0" size="20" /></td>
                    </tr>
                </tbody>
            </table>
            <input type="submit" value="Invia" name="B1" /> 			 
            <input type="reset" value="Reimposta" name="B2" />
        </form>

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2001
    residenza
    Milano
    Messaggi
    217
    Ragazzi non riesco a venire a capo del problema.
    Sto cercando informazioni in giro cercando di adattare il codice ma non trovo nulla di buono tutta roba troppo complessa.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.