2013-03-04 47 views
0

我與傳統表單生成系統,可以有非字母數字字段名 因此,例如越來越POST變量在ASP中使用非字母數字字段名

< input type=text name="5-Teléfono"> 

和ASP,簡單地做以下將不工作輸出貼出值

response.write (request('5-Teléfono')) 

我明白這不是最好的設計決定(或許應該命名text_123 ...等領域),但是更新整個系統中使用這種結構需要一定的時間。

有沒有一種方法在asp中讓我閱讀帶有非字母數字的表單字段名稱?

+0

什麼瀏覽器?您是否設置了['Response.Charset'](http://msdn.microsoft.com/zh-cn/library/ms525304%28v=vs.90%29.aspx)和['@ CODEPAGE'](http:/ /msdn.microsoft.com/en-us/library/ms524967%28v=vs.90%29.aspx)?有關更多信息,請參見[此SO回答](http://stackoverflow.com/a/352393/249624)。 – 2013-03-05 06:14:25

回答

0

嘗試

response.write (request("5-Teléfono")) 

(即周圍5Teléfono雙引號)在VBScript

單引號來註釋掉什麼來算賬

+0

感謝John,當我輸入我的問題時,這是一個錯誤。 通過一些測試,它看起來像字段被轉換爲「5-Teléfono」,而不是5-Teléfono.. ..這似乎是導致錯誤...任何想法如何我可以得到這個解決? – kkuni 2013-03-04 22:03:12

+0

在記事本中打開所有相關文件。從「文件」菜單中選擇「另存爲」,如果編碼下拉列表設置爲ANSI,則將其更改爲UTF-8。在表單頁面中添加元字符集= utf-8標籤也可能是一個好主意。我已經測試過這個,它工作 – John 2013-03-04 22:57:43

0

不要用這樣的名字,它是比如使用非英文變量名稱 - 同樣的影響。

如果你不能改變名稱,你仍然可以迭代發佈的價值觀和尋找合適的一個:

For Each key In Request.Form 
    If (InStr(key, "fono") > 0) And (InStr(key, "5-Tel") > 0) Then 
     Response.Write("Found, value is: " & Request.Form(key)) 
    End If 
Next