2012-01-31 95 views
7

關於表單的提交,我想捕獲表單的字段名稱和值,並且我希望它們在瀏覽器中甚至沒有顯示Response.Write使它們在瀏覽器中可見)。我該如何做到這一點?我使用此代碼:通過表單循環來獲取字段名稱和字段值問題(經典ASP)

For Each Item In Request.Form 
    fieldName = Item 
    fieldValue = Request.Form(Item) 

    Response.Write(""& fieldName &" = Request.Form("""& fieldName &""")")  
    Next 
+0

http://stackoverflow.com/q/9093918/69820 – 2012-02-01 13:01:49

回答

17

您的代碼基本上是正確的,所以只是刪除Response.Write和做別的事情與fieldNamefieldValue變量,你填充。在完成操作數據(將數據插入到數據庫或發送電子郵件)後,可以將用戶重定向到成功/感謝頁面。

要測試您收到正確的輸入,你可以改變你Response.Write

Response.Write fieldName & " = " & fieldValue & "<br>" 


更新

這裏是你如何可以使用Dictionary對象,把您的字段名稱和字段值在一起:

Dim Item, fieldName, fieldValue 
Dim a, b, c, d 

Set d = Server.CreateObject("Scripting.Dictionary") 

For Each Item In Request.Form 
    fieldName = Item 
    fieldValue = Request.Form(Item) 

    d.Add fieldName, fieldValue 
Next 

' Rest of the code is for going through the Dictionary 
a = d.Keys ' Field names ' 
b = d.Items ' Field values ' 

For c = 0 To d.Count - 1 
    Response.Write a(c) & " = " & b(c) 
    Response.Write "<br>" 
Next 
+0

嗨感謝您的幫助所有表單域。基本上我有一個表單,它提交給腳本。這個腳本的形式是FieldNames請求在腳本示例中被硬編碼:PID =(Request.Form(「PID」)。現在我在這個腳本中創建了循環動態工作並從表單獲取fieldNames,並且我希望它們寫成[fieldName] = Request.Form(「[fieldName]」)在腳本中如何才能做到這一點? – 2012-01-31 10:17:40

+1

我明白了;如果我理解正確,你想根據字段名稱來創建變量這是不可能的,你可以做的最好的是用這些名稱/值對創建一個數組或字典對象。 – stealthyninja 2012-01-31 10:28:29

+0

請問哪裏是easiet,以及如何將它應用到數組? – 2012-01-31 10:33:40

1

這是一個非常小的片斷我用來顯示張貼

<% 
For x = 1 to Request.Form.Count 
    Response.Write x & ": " _ 
    & Request.Form.Key(x) & "=" & Request.Form.Item(x) & "<BR>" 
Next 
%> 
相關問題