Post newline / carriage return come valore del campo nascosto

Ho bisogno di inviare dati multilinea tramite un campo nascosto. I dati saranno visualizzati in una textarea dopo la pubblicazione. Come posso pubblicare un ritorno a capo / riga nel modulo html?

Ho provato \ r \ n ma che pubblica solo i dati “\ r \ n”

 

C’è un modo per fare questo?

Dipende dal set di caratteri in realtà ma & # 10; dovrebbe essere a capo e & # 13; dovrebbe essere il ritorno a capo. Dovresti essere in grado di utilizzarli nell’attributo value.

Invece di usare

Prova a usare

Mentre le nuove linee (Carriage Return e Line Feed) sono tecnicamente consentite nello stato nascosto di , dovrebbero essere sfuggite per compatibilità con i browser più vecchi. Puoi eseguire questa operazione sostituendo tutti i ritorni a \u000D ( \u000D o \r ) e tutti i feed di riga ( \u000A o \n ) con stringhe proprietarie riconosciute dalla tua applicazione come ritorno a capo o nuova riga (e anche sfuggito, se presente nella stringa originale).

Semplicemente le quadro di carattere non funzionano qui, a causa di browser non conformi che possibilmente conoscono e sono nuove linee e spogliarle dal valore.

Esempio

Ad esempio, in PHP, se dovessi echo il valore passato in una textarea, dovresti includere le newline (e la stringa senza escape).

Tuttavia, in PHP, se dovessi echo il valore dell’attributo value di un tag , sfuggire alle nuove righe con le stringhe proprietarie (ad esempio \r e \n ) e sfuggire a qualsiasi istanza delle stringhe proprietarie nel valore presentato.

Quindi, prima di utilizzare il valore altrove (inserendo in un database, e-mail, ecc.), Assicurarsi di rimuovere il valore inviato, se necessario.

Rassicurazione

Come ulteriore rassicurazione, ho chiesto al WHATWG, e Ian Hickson, editore delle specifiche HTML attualmente, ha risposto:

bfrohs Domanda su – Sono ammessi i feed di riga e i ritorni a capo nel valore? Sono specificatamente non consentiti nello stato del testo e nello stato di ricerca, ma non viene fatta alcuna menzione per lo stato nascosto. E, in caso contrario, esiste una soluzione HTML accettabile per la memorizzazione dei dati dei moduli da una textarea?

Hixie sì, sono permessi // iirc // per motivi legacy potresti voler scapparli anche se alcuni browser li normalizzano // dimentico se lo abbiamo corretto o no // nelle specifiche

fonte

Non si dice a cosa serve o quale tecnologia si sta utilizzando, ma è necessario essere consapevoli del fatto che non si può credere che il campo nascosto rimanga con value = “riga una riga due”, perché un utente ostile può manomettere con esso prima che venga rispedito nel POST. Dal momento che stai mettendo il valore in un

Quando scrivi un valore in un campo nascosto e lo rileggi, solitamente è meglio tenerlo semplicemente sul server, come attributo della sessione, o pageflow, o qualunque cosa l’ambiente ti fornisca per fare questo genere di cose.