我有兩個輸入字段的名字和姓氏。 應用程序運行得很好。 突然有人從火星和輸入進來的東西像這樣在這些輸入字段Knockout設置允許html的輸入字段的初始值
*(~'@@~>?<+!""*%$)!
兩個姓和名。現在不要問我他爲什麼在火星做這個事情,這很常見。你可以試試這個小提琴
http://jsfiddle.net/farrukhsubhani/3RjRF/
該文本,然後進入我的數據庫,現在當我找回它回來這樣
*(~'@@~>?<+!""*%$)
這是確定對我來說它的HTML和我可以將它放回到淘汰賽中,並將其填充爲html,如上圖所示。然而,這位火星人認爲,在地球上這不是一個好名字,所以他試圖編輯領域。
上面的小提琴是那種編輯頁面,它顯示了他在底部的舊值和頂部的兩個字段。他不知道html,所以他認爲我們在輸入字段中更改了自己的名字,但是我需要知道
將文本傳遞給敲除以便爲輸入字段賦予初始值時,可以告訴它將此文本視爲HTML所以它在輸入字段中正確呈現
另一種方法是發送他到http://www.w3schools.com/tags/ref_entities.asp並告訴他有關保留的HTML字符。這個信息已經存儲在數據庫中(使用Entity Framework簡單的person.fname和person.lname都具有屬性AllowHTML),所以在我的小提琴中,我剛剛將它放在兩個變量中,您可以看到實際文本框與下面的html不同。如果我沒有使用Knockout綁定,那麼實際文本會顯示在這些框中,用戶可以編輯<>'
標誌而不會有任何問題。
任何人在他離開我們的星球之前都有解決方案。這可以改變我們星球上的外星生命。
更新 如果我進入這個領域並粘貼(~'@@~>?<+!""*%$)"
綁定工作,很好,你可以複製這個並將其粘貼到小提琴看到。然而,它並沒有從JavaScript變量中挖掘出這個值,希望它是一個字符串,並且在輸入字段中不能正確顯示html特殊字符。
我們已經完成了另一個測試,沒有Knockout,並且當您嘗試編輯它的罰款時,該文本在場內呈現。
我們更新的jsfiddle沒有jQuery和它相同的結果,如果你將其存儲在一個js變量,如果我們將值分配給輸入字段並只給不珍惜輸入場
http://jsfiddle.net/farrukhsubhani/3RjRF/3/
工作使用jQuery來填充全名,然後它工作
http://jsfiddle.net/farrukhsubhani/3RjRF/4/
這最後的小提琴是一個工作例子,我們希望淘汰賽做什麼jQuery是做什麼。
我認爲這個問題接着來到這個文本如何被存儲在JavaScript變量中,並作爲html文本放入輸入字段,以便特殊字符不會出現非轉義狀態。你可以在jsfiddle上嘗試unescape,這對我們不起作用。
如果還有更好的方法,我也希望擁有 –