Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: input button e form

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344

    input button e form

    In alcune pagine ho dei pulsanti:

    <input class="pulsante" type="button" value="vai" onClick="window.open(pagina.asp','_self')">

    Però se nel browser lato client ho disabilitato gli scripts questo ovviamente non funziona.

    Quale soluzione utilizzare per avere il pulsante sempre funzionante?

  2. #2
    Questo credo sia uno di quei casi in cui occorre vedere l'intera pagina e l'intero meccanismo per giungere ad una soluzione valida. Occorre infatti capire se è possibile scomporre il form in porzioni più piccole, oppure dove poter agire con script lato server e via dicendo.

    Insomma, ci serve un quadro completo ed esatto della pagina.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Ma il problema non è di scomporre il form visto che non c'è.

    La pagina potrebbe essere questa

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>

    <head>
    <title>CIAO</title>
    </head>
    <body>

    <div><input type="button" value="vai" onClick="window.open('hello.asp')"></div>

    </body>
    </html>

    Che però a scipts disabilitati non funziona.
    L'idea era di mettere
    <noscript>vai</noscript>

    In modo da far comparire il link in caso di mancanza di scripts. Però così facendo come faccio ad eliminare il pulsante?

  4. #4
    input è uno strumento facente parte della cassetta degli attrezzi form. Se non vi sono form, gli input non sussistono. E' una questione di logica.

    Ora, lascia stare per un attimo la visualizzazione a video di quel pulsante, quindi non pensare che abbia sfondo grigio con i bordi rialzati: dicci semplicemente a cosa serve quell'elemento.

    (X)HTML, e più in generale il markup, va usato per attribuire significato, non per impaginare il documento o dare effetti visivi:

    - http://pesanervi.diodati.org/pn/index.asp?a=293

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Quell'elemento serve ad aprire un'altra finestra. Come un link. utilizzavo il tag input per sfruttare il fatto che ti crea il pulsante. Altrimenti avrei messo un semplice a.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    E' preferibile quindi usare il tag button nel caso si voglia avere dei pulsanti senza form?

  7. #7
    Ecco, allora: innanzitutto impara ad usare i tag per quello che è il loro significato e non per quella che è la visualizzazione (che comunque è fittizia, visto che dipende dai browser). (Dai una letta all'articolo che ti ho citato.)

    A te serve, pertanto, un collegamento ipertestuale. Un puro e semplice collegamento ipertestuale. L'utilizzo del marcatore <a>, pertanto, è quel che ti serve.

    Questo è un modo per realizzare link pop-up in maniera accessibile:

    - http://webdesign.html.it/articoli/le...accessibili/2/

    Se poi vuoi che il tuo link assomigli ad un pulsante con sfondo grigio e bordi rialzati, allora basterà agire tramite CSS, che è effettivamente il linguaggio deputato a gestire la grafica dei documenti.

    Ah, altra cosa: sarebbe preferibile mantenere separati completamente (X)HTML e javascript. E' ad esempio facile eliminare dal markup quei pesanti attributi onclick e trasferirli direttamente nello script. Un esempio:

    codice:
    XHTML
    
    <a id="regolamento" href="regolamento.htm">
       Regolamento del concorso
    </a>
    
    
    Javascript
    
    var collegamento = document.getElementById('collegamento')
    collegamento.onclick = function()
    {
       // Qui il codice dell'onclick.
    }

  8. #8
    Originariamente inviato da pierofix


    codice:
    Javascript
    
    var collegamento = document.getElementById('collegamento')
    collegamento.onclick = function()
    {
       // Qui il codice dell'onclick.
    }

    A me IE da errore se uso questa sintassi. Se invece scrivo:

    codice:
     
    collegamento.onclick = colora;
    function colora()
    {
       // Qui il codice dell'onclick.
    }
    funziona ma questa volta non funziona su Firefox che invece preferisce quest'altra forma con le parentesi:

    codice:
    collegamento.onclick = colora();
    function colora()
    {
       // Qui il codice dell'onclick.
    }

    C'è una sintassi che funziona per tutti i browser?
    Some people make things happen, some see them happen, others ask what happened...

  9. #9
    Utente di HTML.it L'avatar di nuky
    Registrato dal
    Oct 2001
    Messaggi
    1,053
    Originariamente inviato da nereidahoxhaj
    C'è una sintassi che funziona per tutti i browser?
    Sì, quella postata da pierofix, che ha solo fatto un po' di casino tra collegamento e regolamento:
    Alla getElementById devi passare l'id che hai assegnato al link.
    codice:
    XHTML
    
    <a id="regolamento" href="regolamento.htm">
       Regolamento del concorso
    </a>
    
    
    Javascript
    
    var collegamento = document.getElementById('regolamento');
    collegamento.onclick = function()
    {
       // Qui il codice dell'onclick.
    }
    - "E' un messaggio. E' di Svarion, della terra di Merdor!"
    - "Busto Arsizio?"
    - "Terrazzo, sgabello, formaggio. Borraccia blu, ca**o di gomma e... CANNUCCIA!"
    - "Ca**o dici? C'è scritto «frocio chi legge»!"

  10. #10
    Quello non credo che c'entri perche io non sto usando neanche la funzione getElementById
    Allora forse sbaglio nel assegnare a document.body.onload una funzione?

    codice:
    document.body.onload = function() {
    	  	creaDiv();
    	  	creaIFrame();
    }
    Some people make things happen, some see them happen, others ask what happened...

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.