Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problema inner.HTML

  1. #1

    Problema inner.HTML

    Buongiorno,

    ho un campo select

    <select name="nome">
    <option value="valore1">valore1 </option>
    </select>

    ho la necessita di inserire una option da una funzione javascritp.

    ho provato con

    <select name="nome">
    <option value="valore1">valore1 </option>
    <span id="idspan"></span>
    </select>

    ma il rigo dello span viene evidenziato in nero da dreamweaver e l'innerHTML non viene eseguito.

    Grazie
    Luca

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    quando si manipola l' xhtml via javascript non si puo' prescindere dalle regole dell' xhtml:
    una select ammette al proprio interno solo option, non puoi buttarci dentro uno span e pretendere che tutto funzioni

    ci sono decine di thread che parlano di come aggiungere option ad una select,
    usa la ricerca, i risultati ti mostreranno che puoi procedere in due modi

    new Option http://www.devguru.com/Technologies/...ef/option.html

    metodi del DOM: createElement e appendChild http://javascript.html.it/guide/lezi...del-documento/

    usare l' innerHTML per riscrivere l' intera select e' plausibile, ma non consigliabile
    vedi qui per un esempio di cattiva gestione dell' innerHTML nel caso specifico
    http://forum.html.it/forum/showthrea...2#post11172582

  3. #3
    function inserisciTipologia(nuova) {
    var option=document.createElement("<option value='"+nuova+"'>"+nuova+"</option>");
    option.appendChild(document.nome_modulo.nome_selec t);
    }

    Ho provato con questa funzione ma mi da errore: 'interfaccia non supportata'

    come ovviare?

    Grazie
    Luca

  4. #4
    Dovrebbe essere qualcosa del tipo:

    function inserisciTipologia(nuova) {
    // Ricordati di assegnare un id alla select che devi modificare
    var select = document.getElementById("nomeSelectDaModificare");

    optionElement = document.createElement('option');
    optionElement.setAttribute("value", nuova);
    optionElement.appendChild(document.createTextNode( nuova));
    select.appendChild(optionElement);
    }

  5. #5
    funziona perfettamente

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.