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

    [Dom] Inerire e rimuovere elementi da pagina html

    Salve a tutti, ho un form con 5 selezioni radio, e se viene selezionata una radio mi deve apparire un campo di testo dove si può inserire un valore.
    Ma vorrei che quando cambio la selezione della radio il campo di testo deve sparire e apparire sotto quello in cui ho cliccato.
    Faccio un esempio per essere più chiaro:
    codice html del form
    codice:
     <input type="radio" name="possiedo" id="radio" value="niente - sono interessato" />
          Niente / Sono solo interessato
    <input type="radio" name="possiedo" id="radio2" value="cdj" onclick="inserisci(1)" />
          Cdj <div id="par1"></div>
    <input type="radio" name="possiedo" id="radio3" value="mixer" onclick="inserisci(2)" />
          Mixer <div id="par2"></div>
    <input type="radio" name="possiedo" id="radio4" value="controller" onclick="inserisci(3)"/>
          Controller <div id="par3"></div> 
    <input type="radio" name="possiedo" id="radio5" value="giradischi" onclick="inserisci(4)"/>
          Gradischi <div id="par4"></div> 
    <input type="radio" name="possiedo" id="radio6" value="altro" onclick="inserisci(5)"/>
             Altro Indicare 
          <div id="par5"></div>
    Funzione javascript che mi crea il campo di testo e lo appende subito dopo la selezione
    codice:
    function inserisci(n)
    {
    alert("successo"+n);
      if(document.getElementById && document.createTextNode)
      {
        frase = document.createTextNode("Marca/Modello");
        immagine = document.createElement("Input")
        immagine.setAttribute("type","text")
        immagine.setAttribute("name","marca")
        immagine.setAttribute("id","marca")
    
    
        document.getElementById("par"+n).appendChild(frase);
    document.getElementById("par"+n).appendChild(immagine);
      }
    }
    Con questo codice inserisco la parte html nel div, ma non trovo un mod per eliminare un eventuale cambio di opzione, inoltre se ci clicco due volte mi riscrive nuovamente il campo di testo.
    Un piccolo aiuto è sempre gradito. Grazie.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    function inserisci(n)
    {
    document.getElementById("marca").remove();
    alert("successo"+n);
    if(document.getElementById && document.createTextNode)
    {
    frase = document.createTextNode("Marca/Modello");
    immagine = document.createElement("Input")
    immagine.setAttribute("type","text")
    immagine.setAttribute("name","marca")
    immagine.setAttribute("id","marca")


    document.getElementById("par"+n).appendChild(frase );
    document.getElementById("par"+n).appendChild(immag ine);
    }
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Ciao Cavicchiandrea e grazie per la tua risposta,
    purtroppo ho avuto modo di provare solo adesso e mi ha restituito questo errore:
    TypeError: document.getElementById(...) is null
    ho provato a sostituire marca con "par" e mi ha dato lo stesso errore, poi ho messo par1 ed ha funzionato solo una volta ma senza farmi apparire nulla, solo l'alert è uscito.
    Tieni presente che i radio sono 5 e i div par sono anche 5.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Grazie, davvero gentilissimo!
    Solo un ultimo chiarimento: "specifica" è una variabile che funziona ad intermittenza ma non capisco il motivo.
    Perdonami se approfitto della tua disponibilità.
    Un saluto.

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    E' una variabile globale* preimpostata a zero quando creo l'elemento la imposto a uno quando elimino l'oggetto la riporto a zero, questo serve per l'eliminazione dell'elemento creato e per non creare un doppione.
    Senza questo accorgimento quando cerchi di eliminare con remove() l'oggetto "marca" non trovandolo va in errore




    * variabile che essendo fuori da una funzione è leggibile/modificabile da qualsiasi funzione del documento
    Ultima modifica di cavicchiandrea; 04-10-2014 a 13:56
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    grazie di nuovo

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.