Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: errore innerHtml

  1. #1
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427

    errore innerHtml

    <script>
    function new_pax()
    {
    var test=""
    test='<table border="1" width="100%" id="table18">'
    test='<tr>'
    test='<td>Nome</td>'
    test='<td width="192">'
    test='<input type="text" name="nomenew" size="20"></td>'
    test='<td>Cognome</td>'
    test='<td>'
    test='<input type="text" name="cognomenew" size="20">[/b]</td>'
    test='<td width="127">Eta</td>'
    test='<td width="126">'
    test='<input type="text" name="etanew" size="20">[/b]</td>'
    test='</tr>'
    test='</table>'

    document.getElementById('pax').innerHTML = test;

    }
    </script>

    richiamo la funzione:
    <input type="radio" onclick="new_pax();" name="R1" value="V2">

    il risultato dovrebbe andare dentro uan div...

    <div id="pax" style="width:100%"></div>

    ma non va....

  2. #2

    Re: errore innerHtml

    Originariamente inviato da agenti
    <script>
    function new_pax()
    {
    var test=""
    test='<table border="1" width="100%" id="table18">'
    test='<tr>'
    test='<td>Nome</td>'
    test='<td width="192">'
    test='<input type="text" name="nomenew" size="20"></td>'
    test='<td>Cognome</td>'
    test='<td>'
    test='<input type="text" name="cognomenew" size="20">[/b]</td>'
    test='<td width="127">Eta</td>'
    test='<td width="126">'
    test='<input type="text" name="etanew" size="20">[/b]</td>'
    test='</tr>'
    test='</table>'

    document.getElementById('pax').innerHTML = test;

    }
    </script>

    richiamo la funzione:
    <input type="radio" onclick="new_pax();" name="R1" value="V2">

    il risultato dovrebbe andare dentro uan div...

    <div id="pax" style="width:100%"></div>

    ma non va....
    il computer non sbaglia mai...
    devi stare attento perchè alla variabile test...
    perchè vacendo test="";
    ogni volta cancelli quello che c'era prima e sostituisci...
    quindi in questo caso alla fine è come se ti scrivesse <div></table></div> e tu non vedi nulla...

    devi fare così:
    test=test+"prova123prova";

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La definizione della variabile test potrebbe anche stare fuori dalla funzione.

    Inoltre tutti i tuoi = devono diventare += (tranne il primo, che serve per azzerare la variabile)

    Nota per Tony:
    test = test + "qualcosa";
    si puo` abbreviare in:
    test += "qualcosa";
    risparmiando caratteri ma soprattutto possibili errori
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Originariamente inviato da Mich_

    Nota per Tony:
    test = test + "qualcosa";
    si puo` abbreviare in:
    test += "qualcosa";
    lo so...ma rendeva di + l'idea test = test + "qualcosa"; così
    VVoVe:

  5. #5
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    si fossimo tutti come i pc...
    funzia grazie...

    ma adesso ho un altro problema:
    devo incrementare e decrementare un campo input al click di una checkbox

    function conta_pax1()
    {
    var numi = document.getElementById('conta');
    var num = (document.getElementById('conta').value -1)+ 2 ;
    numi.value = num;
    }

    cosi però aumenta solo i valori anche se il valore della checkbox è -1
    dovrei riuscire anche a decrementare il valore...

    grazie.

  6. #6
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    rettifico...
    funge con FF non con Explorer...

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Se vuoi aumentoare o diminuire conla stessa funzione, devi passare un parametro alla funzione.
    codice:
    function conta_pax(inc) {
      var numi = document.getElementById('conta');
      numi.value = parseInt(numi.value, 10) + inc;
    }
    Da chiamare con:
    conta_pax(1) // per incrementare
    conta_pax(-1) // per decrementare

    la funzione parseInt() trasforma la variabile da stringa ad intero prima di eseguire la somma.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    Garzie Mich.. ma mi riferivo al primo script ... (innerHTML)
    non va con IE.


    Originariamente inviato da agenti
    rettifico...
    funge con FF non con Explorer...

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Che mi risulti (ma non posso installare IE per provare) questa istruzione:
    document.getElementById('pax').innerHTML = test;
    funziona in tutti i browser piu` diffusi.

    E` vero che non e` approvata dal W3C, ma funziona sia in IE che in FF e sim.

    L'unico problema potrebbe essere se hai usato il nome 'pax' per qualche altro elemento, magari in un name o altro attributo.

    Controlla anche eventuali errori di sintassi prima (eventualemnte metti un alert subito prima).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    non avevo chiuso lo span...
    ora va...

    mi chiedevo uan cosa sul tuo script...

    ma se io uso un checkbox per aumentare o decrementare coem faccio a fissare il valore 1 e -1 al cambiamento di status della checkbox ?


    Originariamente inviato da Mich_
    Se vuoi aumentoare o diminuire conla stessa funzione, devi passare un parametro alla funzione.
    codice:
    function conta_pax(inc) {
      var numi = document.getElementById('conta');
      numi.value = parseInt(numi.value, 10) + inc;
    }
    Da chiamare con:
    conta_pax(1) // per incrementare
    conta_pax(-1) // per decrementare

    la funzione parseInt() trasforma la variabile da stringa ad intero prima di eseguire la somma.

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