Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    101

    devo realizzare un checkbox che abilita input

    devo realizzare un checkbox che se premuto mi abilita l'inseriemento di una data in un campo form.grazie a chi interviene

    il js e questo

    function abilita( )
    {
    var disableValue=eval("!document.material.cambia.check ed");

    eval( "document.material.cal-button-2.disabled=" + disableValue );
    eval( "document.material.datec.disabled=" + disableValue );

    }

    html e questo
    <form name="material" >
    <input type="checkbox" name="cambia" onclick="abilita()" />
    <input type="text" name="datec" id="datec" value="<fmt:formatDate value="${today}" pattern='dd-MM-yyyy'/>"disabled/>


    <BUTTON id="cal-button-2" type="button" disabled>
    [img]../common/jscalendar-1.0/img.gif[/img]
    </BUTTON>


    il js mi da problemi

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    C'e un errore di sintassi nel codice HTML. Questo e` corretto:

    <input type="text" name="datec" id="datec" value="<fmt:formatDate value="${today}" pattern='dd-MM-yyyy'/>" disabled="disabled" />

    Nota che gli spazi fanno parte della sintassi.
    Non ho verificato il codice lato server (non lo conosco). Pero` e` importante che al browser arrivi: value="qualcosa" (senza altre virgolette all'interno).

    Per lo script, ti basta scriverlo nell'evento:
    <input type="checkbox" name="cambia" onclick="this.form.datec.disabled=!this.checked;" />

    Se deve funzionare in XHTML Strict, diventa:
    onclick="this.form.datec.disabled\=!this.checked\; "

    Nota che eval() e` sintassi deprecata, che potrebbe non venir riconosciuta dai browser.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Due cose :

    1 - Non puoi mettere un - in un nome o in un id !!! Come fa il js per sapere se si tratta di un nome o di un'operazione aritmetica ?

    2 - Non occore usare il comando eval a tutti i costi. eval è interessante nel caso in cui crei del codice dinamicamente.

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    <script language="JavaScript" type="text/javascript">
    <!--
    function abilita( ) 
    { 
    var disableValue = ! document.material.cambia.checked; 
    
    document.material.cal_button_2.disabled= disableValue 
    document.material.datec.disabled       = disableValue; 
    
    } 
    //-->
    </script>
    
    
    
    html e questo 
    <form name="material" > 
    <input type="checkbox" name="cambia" id="cambia" onclick="abilita()" /> 
    <input type="text" name="datec" id="datec" value=".................." disabled/> 
    
    
    <BUTTON id="cal_button_2" type="button" disabled> 
    [img]../common/jscalendar-1.0/img.gif[/img] 
    </BUTTON> 
    
    </body>
    </html>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    101

    grazie

    grazie

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