Visualizzazione dei risultati da 1 a 10 su 11

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di ninja72
    Registrato dal
    May 2020
    residenza
    -
    Messaggi
    319
    La motivazione è abbastanza semplice, tu posizioni gli script nell'head mentre dovresti posizionarli prima della chiusura del tag body, ho provato anche applicando defer sullo script ma ovvimanete senza successo, questo perchè all'interno del tuo html utilizzi dei richiami a script tramite onchange, questi possono essere sovrascritti solo applicando le modifiche che ti ho detto.

    Inoltre non capisco perchè richiami due volte gli stessi script nell'head :

    codice:
    window.addEventListener("DOMContentLoaded", e => {
      // Original JavaScript code by Chirp Internet: chirpinternet.eu
      // Please acknowledge use of this code by including this header.
    ....}
    
    <script type="text/javascript" src="assets/js/app.min.js">
    <script src="app.min.js">
    In pratica hai copiato alla lettera il mio codice, ma dovevi prendere lo script della tua libreria app.min.js solo come esempio, visto che nel tuo html è già presente, in questo caso devi solo spostarli prima della chiusura del tag body per ottenere una cosa simile a:


    codice:
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    
    <body>
        <table cellpadding="0" cellspacing="0" width="800">
    
        </table>
    
        <script type="text/javascript" src="assets/js/app.min.js"></script>
        <script>
            window.addEventListener('load', () => {
                const inputOnchange = document.querySelectorAll('input[onchange]')
                const inputReadonly = document.querySelectorAll('input[readonly]')
        
                function fixReadOnly() {
                    Array.from(inputReadonly).forEach(input => {
                        input.value = String(input.value).replace(',', '.')
                        input.value = Number(input.value).toFixed(2)
                    })
                }
                function formatInput(e) {
                    fixReadOnly()
                    e.target.value = String(e.target.value).replace(',', '.')
                }
                Array.from(inputOnchange).forEach(input => {
                    input.addEventListener('change', formatInput)
                    input.value = String(input.value).replace(',', '.')
                    fixReadOnly()
                })
            })
        
        </script>
    </body>
    </html>

  2. #2
    Quote Originariamente inviata da ninja72 Visualizza il messaggio
    La motivazione è abbastanza semplice, tu posizioni gli script nell'head mentre dovresti posizionarli prima della chiusura del tag body, ho provato anche applicando defer sullo script ma ovvimanete senza successo, questo perchè all'interno del tuo html utilizzi dei richiami a script tramite onchange, questi possono essere sovrascritti solo applicando le modifiche che ti ho detto.

    Inoltre non capisco perchè richiami due volte gli stessi script nell'head :

    codice:
    window.addEventListener("DOMContentLoaded", e => {
      // Original JavaScript code by Chirp Internet: chirpinternet.eu
      // Please acknowledge use of this code by including this header.
    ....}
    
    <script type="text/javascript" src="assets/js/app.min.js">
    <script src="app.min.js">
    In pratica hai copiato alla lettera il mio codice, ma dovevi prendere lo script della tua libreria app.min.js solo come esempio, visto che nel tuo html è già presente, in questo caso devi solo spostarli prima della chiusura del tag body per ottenere una cosa simile a:


    codice:
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    
    <body>
        <table cellpadding="0" cellspacing="0" width="800">
    
        </table>
    
        <script type="text/javascript" src="assets/js/app.min.js"></script>
        <script>
            window.addEventListener('load', () => {
                const inputOnchange = document.querySelectorAll('input[onchange]')
                const inputReadonly = document.querySelectorAll('input[readonly]')
        
                function fixReadOnly() {
                    Array.from(inputReadonly).forEach(input => {
                        input.value = String(input.value).replace(',', '.')
                        input.value = Number(input.value).toFixed(2)
                    })
                }
                function formatInput(e) {
                    fixReadOnly()
                    e.target.value = String(e.target.value).replace(',', '.')
                }
                Array.from(inputOnchange).forEach(input => {
                    input.addEventListener('change', formatInput)
                    input.value = String(input.value).replace(',', '.')
                    fixReadOnly()
                })
            })
        
        </script>
    </body>
    </html>
    Grazie per il tuo supporto. Ho rimosso come da te giustamente consigliato, lo script dall'head e l'ho messo nel body, e cosi ti confermo che adesso lo script funziona perfettamente ed è visibile fin dal caricamento. Unica cosa che notavo, è che da quando ho applicato lo script del punto, sembra che i numeri siano maggiormente accorciati, per esempio se prima mi dava 0,0000 ora mi da ad es 0.0. Non so se è un'impressione o può essere il frutto dell'inserimento dei punti? Dici può influire sui decimali?

    Per quanto riguarda il riportare due volte questo:
    codice:
    window.addEventListener("DOMContentLoaded", e =>{
      // Original JavaScript code by Chirp Internet: chirpinternet.eu
      // Please acknowledge use of this code by including this header.
    ....}


    Si tratta dell'esecuzione di due script diversi, uno agisce sul tab espandibile, l'altro agisce sul libro che si espande al click mostrando le reference. So che alcune ripetizioni tipo "// Original JavaScript code by Chirp Internet: chirpinternet.eu" può essere rimossa, ma non essendo "skillato" con Javascript ho lasciato comunque lo script integro e preferito non alterarlo.

    Nel caso di app.min.js si trattava di un errore nel riportarlo due volte, l'ho aggiornato adesso e ho rimosso la ripetizione.
    Ultima modifica di jeyjack; 12-01-2023 a 14:05

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.