我在JSP文件中的代碼看起來是這樣的:爲什麼替換反斜槓代碼在JS中不起作用?
<s:form namespace="/user" action="list" method="POST" id="filterListForm" theme="simple"
onsubmit="document.getElementById('filterSearchText').value=document.getElementById('filterSearchText').value.replace(/\\/g,'')">
它不會取代反斜槓字符。我試過以下,他們沒有工作:
replace('/\\/g','')
replace(/\\\\/g,'')
replace(\/\\\/g,'')
但如果我將它更改爲以下,它的工作原理:
<s:form namespace="/user" action="list" method="POST" id="filterListForm" theme="simple"
onsubmit="replaceBackslash()">
<script type="text/javascript">
function replaceBackslash() { document.getElementById('filterSearchText').value=document.getElementById('filterSearchText').value.replace(/\\/g,''); }
</script>
爲什麼?有沒有辦法讓它在第一種情況下工作?
JSP本身必須解析字符串常量,並將JavaScript放在這樣的字符串中會造成麻煩。 – Pointy