Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema con menù dinamico in Javascript

    Buongiorno a tutti, ho un problema con un esercizio riguardante un convertitore di Valute. Probabilmente è un errore stupido ma, nonostante abbia inserito valute e fattori di conversione corrispondenti in un array associativo, è come se non fossero collegati. Ho inserito le valute in un menù a tendina creato dinamicamente in Javascript e collegato ad una select vuota in HTML, ma passando da una valuta all'altra non cambia il valore nel campo del fattore . Vi ringrazio in anticipo per l'aiuto

    function Convertitore () {
    this.valutaCorrente;
    this.fattoreCorrente;
    this.imposta =
    function (valuta, fattore) {
    this.valutaCorrente = valuta;
    this.fattoreCorrente = fattore;
    }
    this.converti =
    function (importo) {
    return this.valutaCorrente + " " +
    importo * this.fattoreCorrente;
    }
    }

    function gestoreImposta () {
    try {
    var nodoMC = document.getElementById("messaggioConverti");
    nodoMC.innerHTML = "";
    var nodoV = document.getElementById("valuta");
    var valuta = nodoV.value;
    var fattore = valutaFattore[valuta];
    var nodoF = document.getElementById("fattore");
    nodoF.value = fattore;
    c.imposta(valuta,fattore);
    } catch ( e ) {
    alert("gestoreImposta: " + e);
    }
    }

    function gestoreConverti () {
    try {
    var nodoMC = document.getElementById("messaggioConverti");
    nodoMC.innerHTML="";

    var nodoI = document.getElementById("importo");
    if (nodoI.value == " ") {
    nodoMC.innerHTML="l'importo \u00E8 vuoto";
    return;
    }
    var importo = Number(nodoI.value);
    if (isNaN(importo)) {
    nodoMC.innerHTML=nodoI.value + " non \u00E8 un numero";
    return;
    }
    if (importo <= 0) {
    nodoMC.innerHTML="l'importo non \u00E8 valido";
    return;
    }
    var nodoR = document.getElementById("risultato");
    nodoR.value = c.converti(importo);
    } catch ( e ) {
    alert("gestoreConverti " + e);
    }
    }

    function opzioniValuta () {
    var s = " ";
    for (var i in valutaFattore) {
    s += "<option>" + i + "</option>";
    }
    return s;
    }

    var valutaFattore = {
    LIT :1937.26,
    USD :0.95,
    YEN :0.13
    }
    var c;
    function inizializza () {
    try {
    c = new Convertitore();
    var nodoMC = document.getElementById("messaggioConverti");
    nodoMC.innerHTML="";
    var nodoC = document.getElementById("converti");
    nodoC.onclick = gestoreConverti;
    var nodoV = document.getElementById("valuta");
    nodoV.innerHTML = opzioniValuta();
    var nodoI = document.getElementById("importo");
    nodoI.value = "";
    var nodoR = document.getElementById("risultato");
    nodoR.value = "";
    gestoreImposta();
    } catch ( e ) {
    alert("gestoreLoad: " + e);
    }
    }
    window.onload = inizializza;

  2. #2
    Quote Originariamente inviata da jennifer03 Visualizza il messaggio
    passando da una valuta all'altra non cambia il valore nel campo del fattore.
    Manca una funzione per l'evento onchange della select con id "valuta"?

  3. #3
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    Manca una funzione per l'evento onchange della select con id "valuta"?
    Grazie mille!!!! Problema risolto

  4. #4
    Quote Originariamente inviata da jennifer03 Visualizza il messaggio
    Grazie mille!!!! Problema risolto
    Bello l'approccio a oggetti e l'uso di try, complimenti al professore.

Tag per questa discussione

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.