您好,登錄后才能下訂單哦!
今天在js中處理一個后臺request傳的值時,本來為了圖省事,直接在js中使用EL表達式,一個成功了,另一個卻老是報錯:“未結束的字符串常量”!!!
最后發現,原來那個報錯的EL表達式中傳過去的值中有個中文的句號,導致了老是換行.........
function initpage(){
?var str1 = "${periodTypeValue}";
?var str2 = "${premiumValue}";
?if(str1 != "" ||str2 != ""){
? ? ?document.getElementById("showDesc").style.display = "";
? ? ?document.getElementById("periodDesc").innerHTML = str1;
? ? ?document.getElementById("premiumDesc").innerHTML = str2;
?}
}
<body onload="initpage();">
? ? ?<html:form action="/product?method=saveEpolicy" method="post" >
? ? ? ? ? <table width="90%" height="50%" border="0" cellpadding="0"? class="CContent" cellspacing="0" align="center">
? ? ? ? ? ? ?<col width="20%">
? ? ? ? ? ? ?<col width="35%">
? ? ? ? ? ? ?<col width="15%">
? ? ? ? ? ? ?<col width="30%">
? ? ? ? ? ? ? ?.........
? ? ? ? ? ? ? ?<tr id="showDesc">
? ? ? ? ? ? ? ? <td>
? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? <td ><!-- align="left" valign="top"? 兩種方式左、上對齊 -->
? ? ? ? ? ? ? ? ? ? ? <div id="periodDesc">
? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? </td>
? ? ? ? ? ? ? ? <td>
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?</td>
? ? ? ? ? ? ? ?<td >
? ? ? ? ? ? ? ? ? ? <div id="premiumDesc">
? ? ? ? ? ? ? ? ? ?</div>
? ? ? ? ? ? ? </td>
? ? ? ? ? ? </tr>
? ? ? ? ? </table>
</html:form>
</body>
=============================================
最后經查資料,發現其他網友也有遇到過,是有隱藏域的形式解決的,即:不直接將該數據以參數形式傳遞,而是先將其賦值在一個隱藏的文本內,需要調用的函數里只需讀取該文本里的內容即可.
<html:hidden property="premiumValue" styleId="premiumValue" value="${premiumValue}"/>
<html:hidden property="periodTypeValue" styleId="periodTypeValue" value="${periodTypeValue}"/>
意外發現后臺Action中傳過來一個null值是,這樣顯示的竟不是null,而是“”
var str1 = document.getElementById("periodTypeValue").value;
?var str2 = document.getElementById("premiumValue").value;
----------------
1.JAVASCRIPT引用時,使用的字符語言不一致.?
比如:<script type=”text/javascript” src=”xxx.js” charset=”UTF-8″>.xxx.js文件內部使用的是GB2312的格式,外面調用使用的是UTF-8,所以文件內部部分特殊字符因為格式不一致,出現亂碼,造成此原因.
2.JAVASCRIPT輸出HTML字符時,前后標記不匹配.?
這種比較常見,往往在輸出字符串時,出現單引號(')或雙引號(”)不配對,或者是在document.write()的時候,沒有正確輸出單引號(')或雙引號(”)
3.參數內出現HTML標記語言或包含換行符?
我今天所遇到的是這種情況.因為我所得到的數據以參數形式傳給一函數,結果該數據里包含換行符,造成了此錯誤.?
如:一般測試時只使用單行的數據,是正常的,未出現這個錯誤,.?
當測試時使用多行數據,并使用回車鏈換行,就出行了此錯誤.因為里面包含了換行符
對于第3種情況,我的解決方法是:不直接將該數據以參數形式傳遞,而是先將其賦值在一個隱藏的文本內,需要調用的函數里只需讀取該文本里的內容即可.?
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。