Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    script che controlla la selezione di una check

    ciao,
    sto provando a fare una ricerca in php,
    mi servirebbe uno scriptino js che controlli se tra un tot di check con lo stesso nome, ce ne sia almeno 1 selezionato.

    es:
    []primo
    []secondo
    []terzo
    []quarto

    //con nome="pippo[]" (per poi contarli in php)

    c'è uno scriptino che controlli che almeno 1 dei 4 check sia selezionato, altrimenti un alert???

    grazie anticipate

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    <script type="text/javascript">
    valida_check(f){
    for(var k=0;k<f.elements['pippo[]'].length;k++){
    if(f.elements['pippo[]'][k].checked) return true
    }
    alert('devi segnare almeno un checkbox')
    return false
    }
    </script>
    <form ... onsubmit="return valida_check(this)">
    etc...

    nel caso tu abbia anche altri controlli onsubmit bisogna apportare piccole modifiche,
    ciao

  3. #3
    scusa, ma sono ignurant in js.

    io ho una form con:
    tipo foto:
    4 checkbox, hanno tutti nome="pippo1[]"
    tipo inquadratura:
    4 checkbox, hanno tutti nome="pippo2[]"
    tipo soggetto:
    4 checkbox, hanno tutti nome="pippo3[]"
    tipo immagine:
    4 checkbox, hanno tutti nome="pippo4[]"

    devo fare in modo che al click del pulsante "invia":

    almeno 1 checkbox con nome="pippo1[]" sia checkato
    almeno 1 checkbox con nome="pippo2[]" sia checkato
    almeno 1 checkbox con nome="pippo3[]" sia checkato
    almeno 1 checkbox con nome="pippo4[]" sia checkato


  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    x comodità parto da pippo0[]
    codice:
    <html>
    <head>
    <title></title>
    <script type="text/javascript">
    function valida_checkbox(f){
    var gruppi=["foto", "inquadratura", "soggetto", "immagine"]
    	for(var q=0;q<gruppi.length;q++){
    		var segnato=false
    		for(var k=0;k<f.elements['pippo'+q+'[]'].length;k++){
    			if(f.elements['pippo'+q+'[]'][k].checked) segnato=true;
    		}
    		if(!segnato){
    			alert('non hai segnato alcun checkbox del gruppo "'+gruppi[q]+'"!')
    			return false
    		}
    	}
    	return true
    }
    </script>
    </head>
    <body>
    <form onsubmit="return valida_checkbox(this)">
    foto
    
    <input type="checkbox" name="pippo0[]" value="a" />a
    
    <input type="checkbox" name="pippo0[]" value="b" />b
    
    <input type="checkbox" name="pippo0[]" value="c" />c
    
    <hr />
    inquadratura
    
    <input type="checkbox" name="pippo1[]" value="a" />a
    
    <input type="checkbox" name="pippo1[]" value="b" />b
    
    <input type="checkbox" name="pippo1[]" value="c" />c
    
    <hr />
    soggetto
    
    <input type="checkbox" name="pippo2[]" value="a" />a
    
    <input type="checkbox" name="pippo2[]" value="b" />b
    
    <input type="checkbox" name="pippo2[]" value="c" />c
    
    <hr />
    immagine
    
    <input type="checkbox" name="pippo3[]" value="a" />a
    
    <input type="checkbox" name="pippo3[]" value="b" />b
    
    <input type="checkbox" name="pippo3[]" value="c" />c
    
    <hr />
    <input type="submit" value="invia">
    </form>
    </body>

  5. #5
    grazie, funziona alla perfezione!

    se puoi, nn è che ne hai uno anche per controllare che solo 1 del gruppo sia selezionato???

    thanks

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    codice:
    function valida_checkbox(f){
    var gruppi=["foto", "inquadratura", "soggetto", "immagine"]
    	for(var q=0;q<gruppi.length;q++){
    		var segnato=false
    		var doppio=false
    		for(var k=0;k<f.elements['pippo'+q+'[]'].length;k++){
    			if(f.elements['pippo'+q+'[]'][k].checked){
    				if(!segnato) segnato=true;
    				else doppio=true
    			}
    		}
    		if(doppio){
    			alert('hai segnato più di un checkbox del gruppo "'+gruppi[q]+'"!')
    			return false
    		}
    		if(!segnato){
    			alert('non hai segnato alcun checkbox del gruppo "'+gruppi[q]+'"!')
    			return false
    		}
    	}
    	return true
    }
    ciao

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 © 2025 vBulletin Solutions, Inc. All rights reserved.