2009-12-07 3 views
6

У меня есть классическая страница ASP, которая возвращается к себе. Как ни странно, значения, возвращаемые из выбранных, добавляются к концам запятыми. Кто-нибудь сталкивался с чем-то подобным раньше? Какие-либо рекомендации по устранению неполадок или рекомендуемые инструменты?Значения HTML-формы, добавляющие запятые в Classic ASP

Я ожидаю, что значения будут возвращены точно так же, как цифры - это идентификаторы значений, отображаемых в опции.

Я проверил тайные запятые на странице и не могу найти ни одного - ни в данных, которые я просматриваю.

(примечание - это Однополочные выбирает, а не несколько)

+1

Некоторый пример кода может вывести из строя проблему ... –

+0

Нашел ответ еще, или позаботьтесь о том, чтобы заполнить более подробную информацию? –

+2

Извинения, у меня еще не было шанса возродить этот проект! Я не понимал, что они вернутся с разделителями-запятыми, если будут повторяющиеся значения формы, поэтому я обязательно буду в этом разбираться. Благодаря! – Kat

ответ

14

Похоже, у вас есть повторяющиеся поля формы. Ваши ценности объединяются вместе с запятыми, например:

<input type="text" name="name1" value="value1"> 
<input type="text" name="name1" value="value2"> 
<input type="text" name="name2" value="value3"> 

Становится

name1=value1,value2 
name2=value3 

Если второй name1 не имеет значения, он становится

name1=value1, 
name2=value3 
+1

Это на самом деле что-то очень простое, что может привести к очень сложным результатам ... Я только что пришел по очень длинному маршруту отладки, чтобы узнать, что ошибка была включена в монолитную форму asp.net и использование нескольких входов с то же имя спасибо – Jonathan

1

Существуют две формы элементов с то же имя? Если у вас установлен Firebug, стоит посмотреть, действительно ли данные отправляются с запятыми или если это происходит после того, как ASP получает свои ужасные лапы.

+1

По крайней мере, у него есть * лапы. Не ужасные оборванные когти, такие как чудовище, которое представляет собой ASP.NET WebForms ... –

+0

Итак, вы видите WebForms как J. Alfred Prufrock программирования? – Tom

+0

Видимо так, хотя я и не знал, что делал до тех пор, пока я не искал Дж. Альфреда Пруфрока ...;) –

3

У вас есть несколько элементов формы на вашей странице с тем же именем?

В классическом ASP несколько значений формы с тем же именем объединяются в строку с разделителями-запятыми в коллекции Request.Form/Request.QueryString, поэтому, если есть скрытое поле или текстовое поле с именем = "foo" как ваш < выберите name = "foo" >, вы получите второе (пустое) значение, присоединенное к первому, разделенное запятой.