Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    Richiamare funzioni da file .js esterno e modificarle

    Ciao!!
    Allora ho una pagina html e un foglio .js esterno con questo codice:

    codice:
    var canvas = document.getElementById("tela"); 
    var context = canvas.getContext("2d"); 
    context.fillStyle = "green"; 
    context.fillRect(100,60,200,70);
    Nella pagina html c'è un box di tipo testo nel quale inserisco il nome di un colore e quando premo un button questo colore viene salvato in una variabile. Ora, come faccio a fare in modo che il colore salvato in questa variabile vada nel context.fillStyle al posto del green?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    se è una variabile globale:

    context.fillStyle = nomeVariabile;

  3. #3
    codice:
    <script type="text/javascript" charset="utf-8"> 
    function controlla(){ 
    var myFieldVal = document.MyForm.prova.value; 
    } 
    </script> 
    
    <body>
    
    
     Per cambiare colore scrivi un colore in inglese e poi clicca su Cambia 
    <form name="MyForm"> 
    <input type="text" name="prova" /> 
    <input type="button" value="Cambia" onClick="controlla()" /> 
    </form>
    Questo è il codice all'interno della pagina in html, ho provato come mi hai scritto tu ma non mi funziona.

  4. #4
    Ok risolto mettendo tutto il codice direttamente all'interno della pagina html, solo che volevo capire se era possibile farlo anche col codice salvato in un file .js esterno

  5. #5
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    potresti fare una richiesta ajax nel file js e salvarti il colore sul server

  6. #6
    Era una stupidata, dovevo inserire tutto il codice nel file esterno...

    Ora però è sorto un altro problema...

    codice:
    <input type="text" name="prova" onkeypress="if(event.keyCode==13) {controlla()}"/>
     <input type="button" value="Cambia" onClick="controlla()" />
    Vorrei che la stessa funzione parta sia che io clicchi sul button, sia che io prema in tasto invio.
    Col codice che ho messo, quando premo invio il colore cambia ma solo per mezzo secondo, poi torna come prima, ho provato a mettere anche onkeydown e onkeyup ma il risultato è sempre lo stesso, qualche suggerimento?

  7. #7
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    posta tutto il codice

  8. #8
    allora in js il codice è questo:

    codice:
    function invio() { 
    if (event.keyCode==13) {controlla()} 
    } 
    
    function controlla(){ 
    var myFieldVal = document.MyForm.prova.value; 
    var canvas = document.getElementById("tela");
     var context = canvas.getContext("2d"); 
    context.fillStyle = myFieldVal; 
    context.fillRect(100,60,200,70); }
    nell'html è questo:

    codice:
     Per cambiare colore allo sfondo, scrivi un colore in inglese e poi clicca su Cambia</p>
    <form name="MyForm"> 
    <input type="text" name="prova" onkeypress="invio()" /> 
    <input type="button" value="Cambia" onClick="controlla()" /> 
    </form> 
    <canvas id="tela" width="400" height="200">
    </canvas> 
    <script type="text/javascript" src="tela.js" charset="utf-8"> </script>

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    <input type="text" name="prova" onkeypress="invio(event)" /> 
    
    function invio(e) { 
    if (e.keyCode==13) controlla(); 
    }

  10. #10
    niente da fare, vi metto il link così vedete cosa succede

    http://provaformgio.altervista.org/M...erno/home.html

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.