Доступ к значению выпадающего меню с использованием asp/VBscript

У меня очень простое выпадающее меню:

<select name="sNumR" id="sNumR" onChange="addTable()">
    <option value=1>1</option>
    <%For i=2 to 10
        Response.write("<option value="&i&">"&i&"</option>")
    Next%>
</select>

Все, что я пытаюсь сделать, - это получить доступ к выбранному значению, будь то значение по умолчанию 1 или другое. Пожалуйста, не перечисляйте решение jQuery или javascript, так как я уже знаю, как это сделать, и меня это совсем не беспокоит.

Простой: Request.Form("sNumR") не работает Я пробовал это много раз...

Что мне не хватает? Это возможно даже с vbscript/asp? Я предпочитаю метод, который прост, поскольку я считаю, что эта задача должна быть, но на данный момент я готов взять все, что я могу получить.

2 ответа

Решение

Request.Form() Доступ к коллекции можно получить только после отправки данных. Это можно сделать либо с помощью клиентского кода для запуска отправки формы, либо с помощью <input type="submit" />

Весь этот механик полагается на то, что ваш <select> а также <input> теги обернуты внутри <form> тег. Форма имеет определенные атрибуты, которые вы должны установить для доступа к Request.Form() коллекция.

  • action - указывает URL-адрес, на который вы отправляете форму, пустая строка будет отправлена ​​на текущую страницу.

  • метод - Либо GET (чтобы заполнить Request.QueryString() коллекция) или POST (чтобы заполнить Request.Form() коллекция.

Простой пример формы HTML хотел бы это;

<html>
  <head>
    <title>Sample Form</title>
  </head>

  <body>
    <form action="" method="post">
      <input type="submit" name="submit" value="Submit Form" />
    </form>
  </body>
</html>

Это сделает форму POST на текущую страницу (при условии, что она называется example.asp )

POST /example.asp HTTP / 1.1
Хост: example.com
Тип контента: application/x-www-form-urlencoded
Длина контента: 20

подать =Submit%20Form

Затем вы можете вставить ASP в любом месте на этой странице, чтобы получить доступ к Request.Form() коллекция, например, поместив этот код над HTML в example.asp

<%
Dim is_submit
'Have we submitted the form?
is_submit = (Request.Form("submit") = "Submit Form")

Response.Write "Form submitted: " & is_submit
%>

Будет производить Form submitted: False до подачи и Form submitted: True после подачи.

Попробуйте обернуть значение вашего атрибута значения в двойные кавычки.

<option value="1">1</option>

Помимо этого, проверьте ваши имена переменных.

Другие вопросы по тегам