[問題] 請教一個jquery 連動選單-單引號的問題
想請教一個jquery的問題,利用jquery作連動選單主要是用class1這個欄位
連動class3這個欄位,程式碼如下
<script>
jQuery(document).ready(function(){
$('#class3').cascade('#class1', {
ajax: {
type: "GET",
url: 'action.php',
data: { act: 'distribution', val: $('#class3').val() }
},
template: function(item) { return "<option value='" + item.Value + "'>" +
item.Text + "</option>"; },
match: function(selectedValue) { return this.When == selectedValue; }
})
.bind("loaded.cascade",function(e,target) {
jQuery(this).prepend("<option value=''
selected
jQuery(this).find("option:first")[0].selected
=
});
});
</script>
這邊會到action.php中撈出資料庫來比對~然後回傳class3的值回來
action.php部份如下:
case 'distribution':
$query = sprintf("SELECT DISTINCT class3 FROM c_type WHERE class1=
'$parentId' AND class3 !='' ORDER BY class3 ASC");
$result = mysql_query($query, $mio);
while ($row = mysql_fetch_assoc($result)) {
$list .= '{\'When\':\'' . $parentId . '\',\'Value\':\'' . $row["class3"] .
'\',\'Text\':\'' . $row["class3"] . '\'},';
}
break;
而問題在題我在建立新資料時.假設class1是retail,
class3欄位則是有包含單引號的字元(或一些/等敏感的字串時)-fanc's
那按照邏輯來說當我選下拉選單class1的retail的時候.class3會跑出fanc's
這樣的資料.但是因為有單引號的緣故.class3欄位的部份呈現灰白色.
而把單引號去掉之後.變成fnacs,則下拉選單又正常運作了
但好像又不能避免使用者輸入單引號.請問這問題可以怎麼解決呢?
因為我做的網頁是有包含新增.刪除.編輯跟查詢等功能..
是需要利用到addslashes跟stripslashes函數嗎?
就是插入資料庫的欄位全都使用addslashes
然後顯示資料時用stripslashes~
有更好的方法能解決嗎?請高手幫幫忙.謝謝
ps:我的magic_quotes_gpc有設定為on
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.184.241
※ 編輯: chrismaggie 來自: 220.134.184.241 (12/16 22:52)
→
12/16 23:58, , 1F
12/16 23:58, 1F
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章