2013-10-18 35 views
1

我有一個輸入框,其中填充了來自apex方法的字符串。如果我在字符串中使用撇號,我收到一個'Unexpected Identifier'錯誤。退出字符串的撇號強制

繼承人的代碼:

  $('#textInput').append(
       $('<input>').addClass('ui-input-note').attr('placeholder', 'Notes') 
        .val('{! CurrentNote }') 
      ); 

這是在控制檯顯示:

  $('#textInput').append(
       $('<input>').addClass('ui-input-note').attr('placeholder', 'Notes') 
        .val('Jim's dog') 
      ); 

我假設撇號正在退出的字符串。我如何解決這個問題?

除了使用「」。

乾杯

+0

您應該能夠通過使用\ – eithed

+0

逃避這些字符,但我不希望用戶必須鍵入吉姆\的狗 – Daft

+0

@Daft什麼是你想與解決實際問題代碼?如果您在包含單引號的用戶輸入時遇到問題,那麼您聽起來像是在做錯某些事情。 –

回答

1

你可以做到這一點如下:

  1. 捕捉事件

    $(document).keypress(function(event){ 
         alert(String.fromCharCode(event.which)); 
        }) 
    
  2. 附加在其關鍵的escape字符\用escape個字符到用戶輸入。

    //Append text to input element 
        function jQ_append(id_of_input, text){ 
         if(text=='`'){ 
          text='\`'; 
         } 
         $(id_of_input).val($(id_of_input).val() + text); 
        } 
    
+0

非常方便的Hemant!並感謝您使用代碼進行更新。 – Daft