Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Sostituire Eval

  1. #1

    Sostituire Eval

    Salve a tutti,
    ho letto che l'eval è da sostituire con funzioni alternative, non essendo molto esperto in javascript mi sono reso conto del problema in quanto su firefox l'eval sembra nn funzionare..

    Questo è il codice dove utilizzo attualmente l'eval:

    var camponome = "window.opener." + document.form1.nomecampo.value;
    eval(camponome).value = document.form1.filename.value;

    // Aggiorno la pagina
    var pulsanteaggiorna = "window.opener." + document.form1.nomepulsante.value;
    eval(pulsanteaggiorna).click();

    Lo scopo è quello di cambiare valore in un campo nascosto e premere un pulsante nella pagina che ha chiamato quella in cui è contenuto appunto il codice diciamo cosi per aggiornare un contenuto...

    Come posso fare? Thanx

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    E` sbagliato l'uso che fai di eval(). Credo che dovrebbe essere:
    var camponome = "window.opener.document.form1."+ nomecampo+".value";
    eval(camponome) = document.form1.filename.value;

    Che copia il valore del campo "filename" della pagian corrente, nel campo il cui nome e` contenuto nella variabile "nomecampo" del documento in opener.

    Comunque si puo` fare senza eval():
    window.opener.document.forms['form1'].elements[nomecampo].value = document.form1.filename.value;

    Oppure, con notazione piu` moderna (richiede l'uso degli attributi id al posto dei name nei tag <form>):
    window.opener.document.getElementById('form1').ele ments[nomecampo].value = document.getElementById('form1').elements[filename].value;
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Garantisco che funziona quello che ti ho scritto.

    Cmq ora provo con le tue indicazioni e poi ti faccio sapere.
    Grazie Mille!

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da simofe78
    Garantisco che funziona quello che ti ho scritto.
    Veramente hai appena scritto che non funziona.
    Il fatto che vada in IE non dimostra che e` giusto, ma solo che, se ancora ce ne fosse bisogno, IE si mangia anche gli errori.

    Piuttosto occorre verificare se io ho interpretato correttamente le tue intenzioni.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.