參數工作RETURN_VALUE包含的Javascript正則表達式中不IE
<textarea>{"id":43,"description":"","item_id":28,"callback":"addNewAttachment","filename":"foo.jpg",,"type":"posts","ext":"jpg","size":145}</textarea>
下一個代碼移除textarea的在Firefox,鉻標籤,所以含量可以在改編被訪問[1]。在IE警報(「失敗」)被調用。
function addAttachment(returned_value) {
var re = new RegExp ("<textarea>(.+)</textarea>");
var arr = re.exec(returned_value);
if(arr != null && arr.length > 1) {
var json = eval('(' + arr[1] +')');
} else {
alert("Failure");
}
window[json.callback](json);
}
returned_value來自Ajax調用。我使用JQuery。
TEST
這不起作用或者:
var re = new RegExp (/<textarea>(.+)<\/textarea>/);
SOLUTION
的問題是,IE是越來越而Firefox是越來越它小寫大寫textarea的字符串。
下一個正則表達式解決了這個問題。
var re = new RegExp ('<textarea>(.+)</textarea)>','i');
沒有ü嘗試 '變種重新=新的正則表達式(/ /);' – palindrom 2009-08-06 08:30:46
你說* Variable * * return_value * *包含*,但在代碼中有're.exec(returned_value);'。這是問題文本或代碼中的拼寫錯誤嗎? – Helen 2009-08-06 08:33:26
@palindrom:如果你使用/.../它已經是RegExp對象,你不應該從它創建一個新的RegExp對象... – Guffa 2009-08-06 08:36:03