Visualizzazione risultati 1 fino 7 di 7

Discussione: [Risolto][Javascript] onclick="funzioneJS()" .. Non va

  1. #1
    Guest

    Predefinito [Risolto][Javascript] onclick="funzioneJS()" .. Non va

    Ho scoperto che cambiare DOCTYPE e portarlo da HTML transitional a XHTML mi sta dando parecchi problemucci.. Un po di questi sono con il javascript.

    Ho questo codice che al momento FUNZIONA (ma non passa la validazione XHTML..)
    Codice PHP:
    <input type="button" name="espandi" value="espandi" onclick="if(document.getElementById('commento').style.height <='15em') document.getElementById('commento').style.height='30em'; else document.getElementById('commento').style.height='15em'"/>

    <
    textarea id='commento' .............................blabla

    L'XHTML non gradisce il segno "<" piazzato nell'onclick..., quindi dovrò spostare il javascript in un file esterno alla pagina...., quindi di fare una funzione, che però non riesco a far funzionare:
    Codice PHP:
    <input type="button" name="espandi" value="espandi" onclick="espandi_commento()"/>

    ...

    nel foglio JS esterno ho la funzione:


    function
    espandi_commento() {
    if(
    document.getElementById('commento').style.height <='15em') document.getElementById('commento').style.height='30em';
    else
    document.getElementById('commento').style.height='15em';
    }
    Non va... come sistemo la baracca?

  2. #2
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Non vedo perché non dovrebbe andare e infatti (sempre investigando sul tuo sito per poter capire DOVE si verifica il problema, visto che non mettete mai il link) vedo che l'espandi funziona bene sia su mozilla che ie.
    Quindi evidentemente hai già risolto (anche se non lo hai segnalato nel post).

    Sta diventando sempre più faticoso dare una mano
    per favore non appesantite ulteriormente la cosa.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  3. #3
    Guest

    Predefinito

    Si scusami heracleum sono andato a lavoro e ho visto la risposta adesso...

    Si funzionava ma non passava la validazione... Ora si ho sistemato tutto... (cmq grazie per essere andato a controllare di persona..)

    In pratica, sto riadattando il sito a XHTML strict (è quello "suggerito" per migliorare l'accessibilità dei siti..).... ed ho visto che in questa forma di DOCTYPE (che è quella piu "evoluta" a quanto ho capito...)
    Non è piu permesso usare il NAME nel tag FORM... Bisogna quindi necessariamente ricorrere agli "id".. e non passava la validazione proprio per questo...

    In verità quello che avrei voluto era creare una funzione meno "specifica"... cioè una "cosa" di questa:..
    Codice PHP:
    <input type="button" name="espandi" value="espandi" onclick="espandi_commento(id_textarea)"/>

    <
    textarea id='id_textarea' .............................blabla



    function espandi_commento(id_textarea) {
    if(
    document.getElementById(id_textarea).style.heigh t <='15em') document.getElementById(id_textarea).style.height=' 30em';
    else
    document.getElementById(id_textarea).style.height=' 15em';
    }
    ma non va questa funzione... cosa manca?
    Ultima modifica di attorianzo : 19-02-2006 alle ore 02.50.39

  4. #4
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Non so se hai semplicemente riportato qui la funzione in modo errato, ma nell'onclick:
    onclick="espandi_commento(id_textarea)"

    devi indicare id_textarea come una stringa, con gli apici, cioè:
    onclick="espandi_commento('id_textarea')"
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da heracleum
    devi indicare id_textarea come una stringa, con gli apici, cioè:
    onclick="espandi_commento('id_textarea')"
    Fatto.. ho aggiunto gli apici come mi hai indicato... ancora purtroppo non va... vanno gli apici anche nella funzione?..

  6. #6
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Da quanto vedo hai inserito UN solo apice iniziale e non lo hai chiuso, il che genera un errore javascript molto significativo:

    Error: unterminated string literal
    espandi_commento('commento)

    stringa non chiusa.
    Aggiungi anche il secondo apicetto

    nella function, no, non vanno apici, quello è il nome del parametro, usato come una variabile qualsiasi.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  7. #7
    Guest

    Predefinito

    Si infatti ho notato l'errore (Ho notato che il modo migliore per vedere errori javascript è usare IE!)..

    grazie grazie grazie ora funziona!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •