Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    103

    getelementbyid(non'xx')

    ciao ragazzi
    ho tnt checkbox, vorrei che cliccando su uno mi si abilitasse un campo testo e si disabilitassero tutte le altre checkbox..

    Premesso che textnear è il campo testo, e near è il checkbox che vorrei checkare.
    io direi:

    if(document.getElementById('near').checked){
    document.getElementById('textnear').disabled=false ;

    e poi..tutti i documenti che hanno id diverso da near..come glielo dico..??
    avevo pensato ad un punto esclamativo..ma dove lo metto?
    in qst modo ho gia provato e non va..

    document.getElementById(!'near').disabled=true;

    altrimenti devo ricorrere necessariamente a..
    document.getelementById('xxx1').disabled=true;
    document.getelementById('xxx2').disabled=true;
    document.getelementById('xxx3').disabled=true; ??

    spero di no..

    grazie

  2. #2
    Utente di HTML.it L'avatar di ilgiovo
    Registrato dal
    Aug 2001
    Messaggi
    518

    Re: getelementbyid(non'xx')

    potresti dare a tutti i checkbox lo stesso name, e poi ti crei la collection degli oggetti textbox con document.getElementsByName("nome")

    una volta che hai la collection ci puoi fare un ciclo for per abilitare o disabilitare uno alla volta tutti gli elementi
    Cacca!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    103
    mmm dunque...
    io ho un form cosi:
    codice:
    <form name="myform" method="post" id="myform" action="home2.php" >
    <input type="text" name="mytext" class="mytext"/> 
    
    <input type="checkbox" onclickname="themes">Themes
    
    <input type="checkbox" name="gist" id="gist">Gist
    
    <input type="checkbox" name="fuzzy" id="fuzzy" >Include words spelled similarly 
    
    <input type="checkbox" name="near" id="near" onclick="javascript:Cliccato();"   >Near <input id="textnear" type="text" name="textnear" DISABLED/>
    
    <input type="checkbox" name="minus" onclick="javascript:Cliccato();" id="minus" value="E" >Minus<input id="textminus" type="text" name="textminus" DISABLED/>
    
    <input type="submit" name="mysubmit" class="mysubmit" value="ricerca">
    
    </form>
    per cui se abilito una checkbox..devo disattivare tutte le altre..
    se do il nome uguale a tutte le checkbox come faccio a dire che una volta attivata una mi deve disabilitare le altre..??
    mi disabiliterebbe anke la stessa no?

  4. #4
    Utente di HTML.it L'avatar di ilgiovo
    Registrato dal
    Aug 2001
    Messaggi
    518
    codice:
    <form name="myform" method="post" id="myform" action="home2.php" >
    <input type="text" class="mytext"/> 
    
    <input type="checkbox" name="checkboxes" id="uno" onclick="gestCheck(this)">Themes
    
    <input type="checkbox" name="checkboxes" id="due" onclick="gestCheck(this)">Gist
    
    <input type="checkbox" name="checkboxes" id="tre" onclick="gestCheck(this)">Include words spelled similarly 
    
    <input type="checkbox" name="checkboxes" id="quattro" onclick="gestCheck(this)">Near <input id="textnear" type="text" name="textnear" DISABLED/>
    
    <input type="checkbox" name="checkboxes" id="cinque" onclick="gestCheck(this)"value="E" >Minus<input id="textminus" type="text" name="textminus" DISABLED/>
    
    <input type="submit" name="mysubmit" class="mysubmit" value="ricerca">
    
    </form>
    
    <script language="javascript">
    function gestCheck(objCheckSel) {
      if (objCheckSel.checked) {
          collCheck = document.getElementsByName("checkboxes")
          for (var i = 0; i < collCheck.length; i++) {
                if (collCheck[i] != objCheckSel)
                     collCheck[i].checked = false
          }
    }
    
    }
    
    </script>
    comunque.. non ti conveniva a questo punto usare un po' di radiobutton ?
    Cacca!

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    103
    mmm ma cambiando il nome poi mi frego il post che ho gia fatto nell'altra pagina con php..

    potrei fare la stessa cosa che hai fatto usando nel form id="checkboxes" e rikiamando col javascript getElementById('Checkboxes') ??

  6. #6
    Utente di HTML.it L'avatar di ilgiovo
    Registrato dal
    Aug 2001
    Messaggi
    518
    no .. il getElementById ritorna UN elemento: l'id deve essere unico nella pagina
    il getElementsByName invece ritorna una collezione di elementi

    per gestire il post dovresti aggiungere al form un campo hidden con nome univoco in cui, nella funzione chiamata sull'onclick, salvi il valore che ti serve e che puoi tranquillamente recuperare da php poi

    ma ripeto: perchè non usi un radiobutton ? in questo modo hai già la scelta multipla ma unica!
    Cacca!

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Fermo restando che sarebbe meglio usare dei radio, pensati specificatamente per quello scopo, puoi adattare questo:
    codice:
    <script>
    function testa(chk) {
    	f = chk.form;
    	for (var i=0;i<f.elements.length;i++) {
    		el = f.elements[i];
    		if (el.type=="checkbox" && el!=chk) el.checked = false;
    	}
    }
    </script>
    
    <form>
    <input type="checkbox" onclick="testa(this)">
    <input type="checkbox" onclick="testa(this)">
    <input type="checkbox" onclick="testa(this)">
    <input type="checkbox" onclick="testa(this)">
    </form>
    Ti correggo il titolo...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    103
    grazie mille davvero ad entrambi!

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    103
    @ br1

    ma se di el volessi prendere nome..ovvero..
    se abilitando solo alcune checkbox..diciamo le ultime due..il campo testo da disabilitato si abilita come potrei scriverlo..?
    el.name non va..

    codice:
    f = chk.form;
    	for (var i=0;i<f.elements.length;i++) {
    		el = f.elements[i];
    		if (el.type=="checkbox" && el!=chk) 
    			el.checked = false;
    		if (el.name=="near") 
    			document.getElementById('textnear').disabled=false;
    			else
    			document.getElementById('textnear').disabled=true;

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Togli il puntoevirgola.
    codice:
    if (el.name=="near") 
    	document.getElementById('textnear').disabled=false;
    	else
    	document.getElementById('textnear').disabled=true;
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.