Доступ к значению выпадающего меню с использованием 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>
Помимо этого, проверьте ваши имена переменных.