Domanda

Ho una forma che ho attualmente enumerare con alcune funzionalità JavaScript e poi post-it con jQuery Ajax () per un'azione di controllo MVC. Ho alcune domande sulle mie opzioni se volevo aggiungere tradizionale (non-JavaScript) il supporto per la pubblicazione di questo modulo.

1) Il fatto è che ho un po 'di dati che non è in campo, ma si tratta solo di testo in div. Dal momento che sto attualmente distacco con AJAX posso ottenere i contenuti di questi div dai loro id prima dell'inserimento e includerli in post. Presumo che questa informazione verrà a mancare da un post tradizionale.

Un'idea è di fare un <input> per questi div anche, ma nasconderlo a pagina. E poi utilizzare quelli in post.

2) Se decido di utilizzare solo AJAX posta, posso liberarmi della forma completamente?

3) Dato che sto con AJAX postale, quale formato cosa suggerisce di utilizzare per la pubblicazione di valori? JSON, delimitato da virgole (problematico per i dati complessi), qualcos'altro?

4) Ti normalmente supportare entrambi i modi? Perché se guardo le mie forme in questo momento, usano un sacco di funzionalità dell'interfaccia utente jQuery e jQuery e questi sarebbero un peso inutile per implementare senza JavaScript. Quante probabilità ci sono che gli utenti non hanno JS abilitato ed è ok per dire semplicemente "JS è necessaria"?

Per questo caso concreto, sto costruendo un inhouse, on-demand applicazione che non sarà web oriented (almeno non ancora) così io ho la possibilità di dire che JS è necessaria.

ty

È stato utile?

Soluzione

Se si vuole andare il percorso di mantenimento di un sito funzionale senza javascript, allora io suggerisco di iniziare facendo un sito le opere senza di essa, poi utilizzare JavaScript per modificare l'interfaccia a ciò che si vuole veramente con javascript abilitato . Ciò comporterebbe che iniziano con tutto l'input contenuta negli elementi input, quindi sostituendo gli elementi di JavaScript con gli elementi div -. O, più realisticamente, rimuovendo il inputs e mostra gli elementi div preesistenti

non vedo la necessità di liberarsi della forma anche quando si utilizza AJAX, anche se tecnicamente non c'è motivo per averlo. Una cosa che mi piace fare, però, è quello di mantenere la forma, poi il mio metodo di invio tirare l'azione dal tag form in modo che non ho bisogno di codificare direttamente in javascript. Si potrebbe scoprire che questo rende più facile la condivisione javascript tra le varie forme.

Ho sempre serializzare a parametri di richiesta, proprio come la forma farebbe normalmente. Il modo più semplice per farlo è con il metodo serialize jQuery, ma che funziona solo sugli ingressi. Si potrebbe anche costruire un hash (coppie chiave-valore in un oggetto) e l'offerta che come parametro i dati per il vostro AJAX. Sarà serializzare automaticamente per richiedere i parametri. Utilizzando qualsiasi altra cosa sarà necessario che si deserializzare utilizzando il proprio codice, piuttosto che il modello di codice vincolante MVC.

Per le applicazioni Web rivolte al pubblico cerco di mantenere l'interfaccia di lavoro per entrambi i browser abilitato per JavaScript e -disabled. browser non javascript a volte non ottengono l'accesso a determinate funzioni, però. Per le applicazioni interne, sarei agio con richiede javascript dal momento che (o qualcuno nella vostra azienda) ha più controllo su di esso.

Altri suggerimenti

porrei il testo div in campi nascosti -. Altrimenti non sarà raccolto da un POST tradizionale

Io personalmente non sbarazzarsi di forma, come quello che succede se il vostro JS è disabilitato / interrotto per qualche motivo? Anche se l'utente ha attivato JS, se (ad esempio) un file JS non viene caricato il modulo non sarà in grado di inviare i dati per AJAX. Hanno l'AJAX, ma assicurarsi la possibilità di cadere-back a forma tradizionale POST.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top