Problema funzione window.open

di il
7 risposte

Problema funzione window.open

Ciao. Finalmente sono arrivato alla fine. Il codice che ho scritto finora e che ho postato con diversi nuovi argomenti funziona in tutte le sue parti grazie all'aiuto delle persone che mi hanno gentilmente risposto. Mi rimane un'ultima cosa. Nella schermata principale del programma ho inserito un pulsante per uscire dall'applicazione. Per fare questo ho usato la funzione window.open("https://www.google.it") che come riportato su w3School apre una nuova pagina. Solo che ovviamente a me non funziona. Sembra la nuova pagina venga aperta sempre all'interno della mia applicazione che ovviamente è vuota. Considerate che per far girare l'applicazione utilizzo il live server di visual studio. Forse è per questo motivo che mi apre una pagina vuota? Se si come faccio ad uscire dall'applicazione?

function esci(){
  window.open("htpps://www.google.it/");
}

7 Risposte

  • Re: Problema funzione window.open

    Potresti utilizzare window.close() per chiudere la scheda.

  • Re: Problema funzione window.open

    Ciao. Grazie. Idea semplicissima ma funzionante.

  • Re: Problema funzione window.open

    Ciao. Sto facendo ricerche sul web su come passare una funzione con parametri all'evento onclick di un pulsante.Mi spiego:

    <!DOCTYPE html>
    <html>
    <body >
        
    <p id="demo"></p>
    <input type="text" id="oper">
    <input type="text" id="oper1">
    
    <input type="button" onclick='myFunction(x,y)'>  //QUAL'E' LA SINTASSI CORRETTA PER PASSARE I PARAMETRI DELLA FUNZIONE?
    
    <script>
    const x=document.getElementById("oper").value;
    const y=document.getElementById("oper1").value;
       let z = myFunction(x,y); 
    document.getElementById("demo").innerHTML = z;
    
    function myFunction(a,b) {
      return a *b;   
    } 
    
    </script>
    
    </body>
    </html>

    O meglio. Si può usare questo sistema o è meglio usare altro?

  • Re: Problema funzione window.open

    Diciamo che per problemi nuovi conviene aprire una nuova discussione onde evitare richiami da parte degli amministratori.

    Per risponderti in breve, direi che è preferibile utilizzare un approccio diverso da quello che stai utilizzando, gestisci la logica all'interno dello script, magari gestendo gli eventi con “addEventListener”, per esempio:

    btn.addEventListener("click", () => {
                view.textContent = myFunction(x.value, y.value)
            })
  • Re: Problema funzione window.open

    23/02/2023 - tonyven1 ha scritto:


    Sto facendo ricerche sul web su come passare una funzione con parametri all'evento onclick di un pulsante

    Il metodo giusto passa anche dal comportamento di questa funzione, ovvero dal tipo di parametri che passi e dal loro scopo.

    Qual è l'obiettivo? Quali sono e a cosa servono nello specifico i parametri che vai a passare?

  • Re: Problema funzione window.open

    Ciao.Grazie ragazzi.Stavo facendo dei test per utilizzare una funzione con i parametri. Ora mi funziona. Sono due textbox e un pulsante. Quando inserisco dei valori nelle textbox premendo il pulsante mi deve visualizzare la moltiplicazione.

    <!DOCTYPE html>
    <html>
    <body >
        
    <p id="demo"></p>
    <input type="text" id="oper">
    <input type="text" id="oper1">
    
    <input type="button" id="btn">
    
    <script>
    const x=document.getElementById("oper");
    const y=document.getElementById("oper1");
    
    document.getElementById('btn').addEventListener("click",function(){myFunction(x.value,y.value);});
                  
               
    function myFunction(a,b) {
      document.getElementById('demo').innerHTML= a * b;   
    } 
    
    </script>
    
    </body>
    </html>
  • Re: Problema funzione window.open

    24/02/2023 - tonyven1 ha scritto:


    Stavo facendo dei test per utilizzare una funzione con i parametri.

    Ok, ma quanto fai deve comunque avere un senso.

    Ad esempio, devi fare la moltiplicazione? Allora ha senso avere una funzione che, dato come parametri due valori, ne faccia la conversione (se serve) e ti restituisca il valore di ritorno come risultato.

    Tipo

    function multiply(a, b) {
      a = parseInt(a);
      b = parseInt(b);
      return a * b;
    }

    Poi magari quella funzione la puoi invocare sul gestore dell'evento onClick, recuperando i valori da dove occorre (chiedendoli all'utente, leggendoli dalla pagina, ecc.).

    document.getElementById('btn').addEventListener("click",
    	function() {
      		const elementOper0 = document.getElementById("oper");
      		const elementOper1 = document.getElementById("oper1");
      		const elementDemo = document.getElementById('demo');
      		elementDemo.innerHTML = multiply(elementOper0.value, elementOper1.value);
    	}
    );

    Dall'esempio sopra puoi tranquillamente evincere i vantaggi di

    • usare variabili con nomi che hanno almeno un minimo senso (basta x, y, z, …);
    • formattare il codice in modo strutturato e leggibile;
    • togliere dalle funzioni logiche (quella di moltiplicazione) i riferimenti a controlli della pagina (rendendole inservibili in altri contesti e di fatto inutili), separando la logica dalla gestione dell'interfaccia per visualizzare i risultati.

    Questi ultimi suggerimenti è tanto che te li riporto, ma guai se ti sforzi un minimo di rispettarli.

    Poi però, succede che il codice non fa ciò che dovrebbe e, oltre a questo, non si riesce a trovare l'errore perché è talmente “intrecciato” e offuscato da nascondere anche la logica che c'è dietro, al momento molto molto semplice.

    Ciao!

Devi accedere o registrarti per scrivere nel forum
7 risposte