2016-01-06 20 views
5

Sono volontario su un progetto basato sul sito Web che sta cercando di rendere tutte le pagine completamente funzionanti senza JavaScript prima di aggiungere JavaScript per miglioramenti, e mi è stato chiesto di verificare se uno scenario particolare potesse essere gestito esclusivamente tramite HTML/CSS.Modulo HTML: i parametri GET/POST inviati possono essere soppressi utilizzando solo HTML o CSS?

Quello che abbiamo è un modulo che viene compilato per aiutarci a filtrare un elenco di ticket che vengono visualizzati sullo schermo dopo un aggiornamento della pagina attraverso un'azione GET, che a sua volta funziona bene, ma la preoccupazione per l'implementazione corrente è che l'URL non può essere trasformato in un link permanente. La richiesta, tuttavia, di mantenere il collegamento permanente il più minimale possibile, è di inviare solo parametri GET per i campi che sono popolati con qualcosa (quindi, sopprimere i parametri GET per i campi vuoti) invece di avere un parametro GET diverso per ogni modulo campo sulla pagina.

Ho pensato a diversi modi che potevano essere eseguiti, la maggior parte incluso JavaScript (esempio: creare campi con ID ma nessun nome e un campo nascosto con nome che usa JS per prelevare i dati dai campi), ma anche uno quella sarebbe un'azione POST con un reindirizzamento verso il GET con una stringa leggibile dall'uomo che potrebbe essere utilizzata in modo permanente. Lo sviluppo principale, tuttavia, preferirebbe non passare attraverso il metodo POST/redirect se possibile.

Detto questo, sto cercando di essere sicuro di coprire tutte le mie basi e chiedo esperti i loro pensieri su questo prima di spingere con forza per il POST/reindirizzare soluzione: Esiste un modo utilizzando solo HTML & CSS per sopprimere direttamente OTTIENE i parametri di un modulo per i campi che sono vuoti senza usare un POST/reindirizzamento?

+0

Fondamentalmente, vuoi solo annullare valori che non sono predefiniti? Puoi lanciare una pre-elaborazione della submission tramite Javascript che contrassegna qualsiasi campo non sporco come disabilitato prima di inviarlo. – abluejelly

+0

Sei curioso di sapere perché non vuoi javascript? Si tratta di un sito di utilizzo interno o esterno? – Bindrid

+0

Bindrid: il sito è un progetto open source per altri progetti liberi/libre/open, e ci sono molte persone con cui abbiamo parlato che si oppongono a JS e hanno molti blocchi JS, quindi stiamo provando per soddisfare la potenziale popolazione di utenti. –

risposta

1

No, la soppressione dei campi da inviare in un modulo HTML con il metodo "GET" non è possibile senza l'utilizzo di JavaScript, oppure l'invio del modulo con un metodo POST e l'utilizzo di una funzione lato server per ridurre al minimo il modulo.

I campi inviati sono definiti dallo HTML specification e HTML e CSS da soli non possono modificare questo comportamento e mantenere il browser compatibile con gli standard.

0

No, non è possibile sopprimere a livello di codice qualsiasi comportamento predefinito del browser senza utilizzare alcun tipo di linguaggio di script client, come JavaScript.

Come nota a margine, si dice "JavaScript per miglioramenti", ma JavaScript non viene utilizzato per miglioramenti in questi giorni. E nessuno nel mondo reale farebbe un buon front end senza l'uso di JavaScript. Ti suggerirei di usare semplicemente JavaScript.

0

Non penso che si possa evitare Javascript qui per pre-elaborare prima dell'invio per eliminare i campi di modulo invariato/vuoto.

Problemi correlati