2017-02-16 90 views
0

之前擺脫使用JavaScript字符串我有這樣的代碼,我抓住一個屬性值,並將其加載到一個表格,標題行可以看起來像:填充表單輸入

歡迎美國最好的價值無論

HtmlSpecialChars equivalent in Javascript?沒有運氣:

但使用這種轉義功能時,該字符串在撇斷了,

var headline = escape($(this).attr("data-headline")); 

//populate the textbox 
$(e.currentTarget).find('input[name="headline"]').val(headline); 

我也在這裏使用的解決方案嘗試。

如何填充我的輸入並保留撇號/引號?

+0

你可以只用'$( '輸入[名稱= 「標題」]',e.currentTarget)'選擇VS選擇和找。爲什麼你需要在javascript中轉義它?只要設定值不應該導致任何問題。 – Marie

+0

在這裏調用'escape'有什麼意義? a)[它沒有做](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/escape)你認爲它做了什麼b)沒有必要逃避一個字符串進入'.val()'! – Bergi

+0

'escape'似乎被棄用,主要用於'URI'而不是用於逃避撇號 – Kaddath

回答

0

只需使用

$(this).find('input[name="headline"]').val(this.dataset.headline); 

無需任何轉義。

但是,請注意escape不會切斷撇號,它會將它們替換爲%27。如果您的當前代碼在標題中不適用於撇號,請確保包含data-headline屬性的標記已正確使用任何工具創建它。

+1

感謝您的建議,您正確地轉義屬性是正確的。 使用PHP,這個工作對我來說: <按鈕類= 'BTN BTN-主' 數據切換= '模式' 的數據目標= '#modal_create_article' 數據標題=「」用htmlspecialchars($標題,ENT_QUOTES )。「'> + – handlethisman