Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323

    onClick cambio button value

    Ciao ragazzi, questo script visualizza a video un button che cliccando su di esso mostra e nasconde un div e cambia il value del button stesso (da value = "Nascondi" a value = "Mostra"), tutto funziona correttamente con IE e FF mentre con Chrome e Safari il value del button non cambia. Riuscite ad aiutarmi?

    PS: vi posto solo una parte dell'intero script perchè in realtà si trova in una pagina php e viene generato dinamicamente, ma anche così come è postato il problema persiste.

    Codice PHP:
    <div id=0>
    <
    div>
    [
    b]2010[/b]
    <
    input type="button" value="Nascondi" style="width:65px;font-size:10px;margin:0px;padding:0px;" onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != ''){this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = '';this.innerText = '';this.value = 'Nascondi'}else{this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none';this.innerText = '';this.value = 'Mostra'}">
    </
    div>
    <
    div class="alt2" style="margin: 0px; padding: 0px; border: 0px inset;">
    <
    div  style="margin-left: 20px; margin-top: 10px; display: ;">Messaggio

    </div>
    </
    div>
    </
    div
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    A) delimita gli attributi es(id="0")
    B) gli Id non devono essere solo numeri
    C) innerText e riconosciuto solo da IE meglio usare innerHTML
    D) meglio usare id invece di risalire ai padri del documento più sicuro dato che non tutti i browser operano alla stessa maniera
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Grazie Andrea, ho fatto tutto quello che mi hai detto tranne il punto D, dovrei sostituire i parentNode con GetElementById ? Come deve fare?
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    <div id="messaggio_1" style="margin-left: 20px; margin-top: 10px; display: ;">Messaggio

    </div>
    richiamato cosi:
    document.getElementById('messaggio_1').style.displ ay = 'none/block'
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Riposto il codice modificato però anche così, con Chrome, il value non cambia ma rimane sempre Nascondi, Safari non ce l'ho in ufficio e non posso testarlo.
    Codice PHP:
    <div id="a0">
    <
    div>
    [
    b]2010[/b]
    <
    input type="button" value="Nascondi" style="width:65px;font-size:10px;margin:0px;padding:0px;" onClick="if (document.getElementById('messaggio_1').style.display != ''){document.getElementById('messaggio_1').style.display = '';this.innerHTML = '';this.value = 'Nascondi'}else{document.getElementById('messaggio_1').style.display = 'none';this.innerHTML = '';this.value = 'Mostra'}">
    </
    div>
    <
    div  style="margin: 0px; padding: 0px; border: 0px inset;">
    <
    div id="messaggio_1" style="margin-left: 20px; margin-top: 10px; display: ;">Messaggio
     
    </div>
    </
    div>
    </
    div
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ma this.innerHTML='' cosa dovrebbe fare? rimuovilo

  7. #7
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Ma porc!!!! Grazie..era proprio this.innerHTML='' che non serve a nulla e non faceva funzionare lo script. Grazie Andrea e grazie Xinod.
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

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.