2016-05-13 18 views
0

我有一個頁面一個字符串時,其中隱藏的輸入框之一是這樣的:無法識別的表達具有大括號

<input type="hidden" name="RequestID" id="RequestID" value="{834b3866-6373-4f2d-8e0b-f28da66c3317}" /> 
在我的jQuery

我想得到這樣

$('#btnGetId').on('click', function(){ 
    var reqID = $('#RequestID').val(); 
    alert(reqID); 
}); 
的RequestID

運行代碼時我的控制檯說:

無法識別的表達{834b3866-6373-4f2d-8e0b-f28da66c3317}

這是因爲花括號的,所以我想這個

var reqID = $('#RequestID').val(); reqID.replace(/[{}]/g, '\\$&'); 

當我運行代碼,我警告說:

[目標,對象]

我需要的是我在我的警報框中獲得了guid:{834b3866-6373-4f2d-8e0b-f28da66c3317},但我不知道我在做什麼錯誤。

+5

Theres一些其他的代碼產生的錯誤,你沒有向我們展示。看到;單獨工作很好:https://jsfiddle.net/a4ek9z0n/ – Jamiec

+0

_「當運行代碼時,我的控制檯顯示: '無法識別的表達式{834b3866-6373-4f2d-8e0b-f28da66c3317}'」_您可以創建堆棧數組演示? – guest271314

+0

是的,@Jamiec是正確的。您發佈的代碼無法產生該錯誤。它必須是你的程序中的其他代碼。你的控制檯應該給你一個行號。這將表明問題真的在哪裏。 –

回答

-1

嘗試使用數據-...屬性,而不是值:

將HTML變成:

<input type="hidden" name="RequestID" id="RequestID" data-val="{834b3866-6373-4f2d-8e0b-f28da66c3317}" /> 

而且JS變爲:

$('#btnGetId').on('click', function(){ 
    var reqID = $('#RequestID').attr("data-val"); 
    alert(reqID); 
}); 

演示在這裏:

https://jsfiddle.net/7c48867q/3/

+0

這是測試和工作。 – labzus

+0

原來是這樣;) – Jamiec

0

在原來的代碼我有:

$('#btnGetId').on('click', function(){ 
    var reqID = $('#RequestID').val(); 
    alert($(reqID)); 
}); 

我把它改成

$('#btnGetId').on('click', function(){ 
    var reqID = $('#RequestID').val(); 
    alert(reqID); 
}); 

現在正在工作。

相關問題