Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Eventi checkbox su IE7

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188

    Eventi checkbox su IE7

    ma che cacchio bisogna usare su IE per scatenare l'evento di un utente che seleziona il checkbox?
    Io mi accontenterei anche solo che cambia il suo stato (anche se l'ideale sarebbe che l'evento non sia al cambio di stato ma alla selezione).

    Ho provato con tutti:
    onSelect
    onClick
    onMouseDown
    onMouseUp
    onFocus
    onBlur

    e vanno tutti in FF, manco uno in IE che continua a dirmi che PROPRIETA' O METODO NON SUPPORTATI DALL'OGGETTO.

    Il caso è il classico bollino di privacy che bisogna accettare per poi rendere attivo il bottone di submit (e nel frattempo bloccare un successivo deselezionamento su se stesso).
    Ecco il codice che funziona perfettamente su FF, come farlo andare anche in IE??

    codice:
    <FORM name=compraFRM action=comprato.php method=get ENCTYPE="text/plain">
    <INPUT type=checkbox name=privacy 
    onClick ="
    	document.compraFRM.submit.disabled=false;
    	document.compraFRM.submit.value='    Compera     ';
    	this.checked=true;
    	this.disabled=true;
    "> ACCETTO (*)
    <INPUT type=submit value='Devi ancora accettare la privacy' name=submit disabled=true></FORM>
    (ho provato anche a chiamare il bottone SUBMIT in maniera diversa, riferirmi a lui come nuovo nome, levare gli spazi di impaginazione, levare uno alla volta anche i comandi this.disabled e this.checked.... Macché, FF perfetto, IE continua a dirmi che quell'evento non è supportato!).

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Gli eventi vengo richiamati cosi:
    onselect
    onclick
    onmousedown
    onmouseup
    onfocus
    onblur
    cioè scritti tutto in piccolo
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188
    Grazie per la precisazione.
    Tuttavia continua a non andare in IE7.
    Ho provato onclick tutto minuscolo, appunto, non va; mi dice sempre PROPRIETA' O METODO NON SUPPORTATO.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Premesso che IE7 è un browser fatto a modo suo, gli eventi li gestisce come gli altri browser.
    Prova a postare la funzione e il richiamo (evento onclick)


    Ops!! l'ho visto adesso che l'avevi già fatto, un attimo che vedo......

    Cosi funziona:
    codice:
    <FORM name="compraFRM" action="comprato.php" method="get" ENCTYPE="text/plain">
    <INPUT type="checkbox" name="privacy "
    onclick ="document.compraFRM.pulsanteInvio.disabled=false;document.compraFRM.pulsanteInvio.value='   Compera   ';this.checked=true;this.disabled=true;"> ACCETTO (*)
    <INPUT type="submit" value="Devi ancora accettare la privacy" name="pulsanteInvio" disabled="true"></FORM>
    Probabilmente sia il checkbox che il pulsante sono generati dinamicamente lato server, attento se non rispetti la semantica poi non funziona, pertanto quando generi un oggetto del documento va scritto con le virgolette che contengono nome, tipo d'oggetto, etc.. Inoltre non utilizzare i nomi riservati tipo submit, form, type, etc... per nominarli (un po di fantasia)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188
    Grazissie per le risposte.
    In effetti usare nomi di funzioni o tag è rischioso oltre che confusionario.

    Ho dunque modificato i nomi ed inserito le virgolette ma ancora non mi va


    I bottoni e tutto il form è statico... cioè, è in una pagina PHP ma la parte che scrive quel codice è pure HTML e neppure in formato ECHO "codice html" ma proprio uscendo da php:

    codice:
    blablabla in php
    ?>
    codice puro di html, incluso questo form e la sua impaginazione in CSS
    <?
    riprendiamo php blabla

  6. #6
    Questo tipo di problemi si evitano utilizzando getElementById.
    Assegna un id ai form e agli input invece di usare il solito (obsoleto) name e identifica gli elementi con metodi DOM e sintassi corretti.

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.