Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    46

    Inserimento dinamico di oggetti

    Salve a tutti, è la prima volta che scrivo su questo forum... ho un problema: in una form, ho una normalissima input, ed accanto ho messo un pulsante che sull'evento onclick, mi richiama una funzione che dovrebbe inserire sotto una riga tale e quale a quella precedente. Vi mostro il codice html:

    <div id="column_10">
    *Prescrizione:
    <input name="prescrizione_1" id="text_prescrizione" size="80" maxlength="80"
    tabindex="10" value="Lansoprazolo capsule 15 mg" title="Inserire i dati relativi alla
    prescrizione">
    </div>
    <button id="nuova_riga" onClick="Inserisci_prescrizione()">Inserisci</button>

    Questo è invece il js che ho scritto io...

    function Inserisci_prescrizione()
    {
    var padre=document.getElementById("column_10");
    var figlio_1=padre.childNodes[1];
    var figlio_2=padre.childNodes[2];
    var nuovo_testo=document.createElement("a");
    for(var c in figlio_1)
    {
    var valore=figlio_1.getAttribute(c);
    if(valore!=null)
    nuovo_testo.setAttribute(c,valore);
    }
    nuovo_testo.nodeValue="Prescrizione";
    var nuova_riga=document.createElement("input");
    for(var c in figlio_2)
    {
    var valore=figlio_2.getAttribute(c); //errore qui
    if(valore!=null)
    nuova_riga.setAttribute(c,valore);
    }
    padre.appendChild(nuovo_testo);
    padre.appendChild(nuova_riga);
    }

    In pratica prima mi creo due oggetti: uno uguale a figlio_1 (tag "a"), ed un altro uguale a figlio_2 (tag "input"). Il compilatore quando arriva alla riga di errore, mi dice "figlio_2.getAttribute(c) is not a function". Perchè? Perchè con figlio_1 invece non succede?
    Purtroppo non va... non so perchè... inoltre quando clicco sul pulsante, la pagina viene sostituita da una classica di errore "errore caricamento pagina".
    Grazie ragazzi!
    PS: sto usando mozilla ma DEVE andar bene anche per IE.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma non vorrei che clonando gli id uguali vada in conflitto, comunque se vuoi un esempio di duplicazione leggi qui se invece vuoi approfondire la clonazione dei nodi leggi qui
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    46
    grazie! Ho provato a modificare per vedere se fosse quello il problema, ma a quanto pare no... adesso ho fatto una padre.childNodes.lenght e salta fuori che i figli sono 5... che io sappia il figlio 0 per firefox è un implicito text, ma gli altri 4??

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non sono ferratissimo su i nodi e proprio per questo li uso poco, posso solo dirti che qualsiasi tag sia presente nell'elemento è considerato nodo (tipo: <div>


    </p></div>) e non mi ricordo se

    </p> è considerato un nodo o due (credo 2) e non tutti i browser operano allo stesso modo.
    E non sono convito che clonare id non dia problemi visto che l'id devono essere univoci
    Se non hai già letto la guida ti consiglio di farlo.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    46
    Grazie!
    Dicevo che l'id non era un problema, perchè adesso l'ho risolto. Semplicemente se l'id era "prescrizione", nel nuovo nodo sarà "prescrizione0", poi "prescrizione1" e così via (grazie all'uso di un semplice contatore). Ho letto anche la guida e sembra tutto liscio come l'olio, però non riesco ancora a capire il problema...

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.