Как динамически вызывать поля формы html в vbscript в цикле - PullRequest
0 голосов
/ 13 декабря 2018

Итак, у меня есть HTML-форма, созданная в классическом asp, которая имеет около 25 флажков с разными надписями.Флажки записываются на страницу с помощью цикла, который извлекает значения меток из таблицы, и каждый флажок имеет одинаковое имя ("decason1", "decason2", "decason3", ect ...) с использованием переменной цикла.

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

dim i, checkedvalue ;
checkedvalue = false

for i = 1 to 25 
  if document.rtftadd.decreason1.checked = true then
    checkedvalue = true
end if
next

Мне нужно, чтобы «document.rtftadd.decreason1.checked» изменился с циклом на decason2, decason3

Я не уверен, как это сделать.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 22 декабря 2018

Есть несколько разных способов сделать это, и если вы ищете способ проверки перед отправкой формы, тогда JavaScript может быть лучшим решением.

Однако, пытаясь ответить на ваш вопрос, используя только код на стороне ASP-сервера для VBScript и учитывая ваш вопрос, предположите, что вам все равно, какой флажок выбран и сколько выбрано, тогда следующий код может быть рабочимрешение для вас.

Рассматривая все элементы, отправленные через форму, и проверяя, существует ли имя вашей формы (без номера), этот же блок кода будет работать, даже если вы увеличите или уменьшите количество проверок.поля, которые вы проверяете для ввода.

<%@LANGUAGE="VBSCRIPT"%>
<% 
   dim checkedvalue
   checkedvalue = false
   if request("btn1") = "Submit" then
      For each item in request.form   
          if instr(item,"decreason") > 0 then
              checkedvalue = true
          end if
       next
       response.write "Checked Value  = " & checkedvalue & "<br><br>"
   end if
%>
<html>
<head></head>
<body>
   <form method="post" action="index.asp" name="rtftadd">
        <input type="checkbox" name="decreason1"> Box 1<br> 
        <input type="checkbox" name="decreason2"> Box 2<br> 
        <input type="checkbox" name="decreason3"> Box 3<br> 
        <input type="checkbox" name="decreason4"> Box 4<br> 
        <input type="checkbox" name="decreason5"> Box 5<br> 
        <br>
        <input type="submit" value="Submit" name="btn1">
   </form>
  </body>
 </html>
...