Я использую VBscript для манипулирования входными данными html-формы, помещения их в электронную таблицу и извлечения из нее.
Сама форма выглядит отчасти как...
For i = 1 to NumberFigures
document.write "<input name=""figno" & i & """ type=""text"">"
Next
... что хорошо, когда i = 1, но я не уверен, как получить к нему доступ для случаев i > 1 из соответствующей функции. Выписка следует...
For i = 0 to max
Figno = "Form1.figno" & i+1 & ".Value"
arr(i,19) = Figno
Next
Это небольшая выборка. Результирующий собранный массив обновляется до электронной таблицы. Все работает хорошо, за исключением того, что arr(i,19) присваивается строковое значение «Form1.figno1.Value», а не значение во входном имени figno1 в Form1. Чтобы убедиться, что форма и ввод работают, я попытался использовать следующее...
arr(i,19) = Form1.figno1.Value
... который возвращает значение ввода "figno1" для всех значений i. Так что с этой частью все в порядке.
Любая помощь очень ценится.
R
Обновить... обновили код по предложению. Ниже показана часть функции, которая обращается к форме. Как и здесь, он подтягивается к части arr(j,20) = Form1.children("figname" & j+1).Value
и выдает следующее сообщение об ошибке: Требуется объект: '[object]'
redim arr(NumberFigures-1,30)
MsgBox(NumberFigures)
For j = 0 to NumberFigures-1
arr(j,0) = date()
arr(j,1) = time()
arr(j,2) = requestFlag
arr(j,3) = requestNo
arr(j,4) = requestNo
arr(j,5) = strvar
arr(j,6) = "New Request"
arr(j,7) = "DRAFT"
arr(j,8) = Form1.jobnumber.Value
arr(j,9) = Form1.cost.Value
arr(j,10) = Form1.client.Value
arr(j,11) = Form1.project.Value
arr(j,12) = Form1.reportNo.Value
arr(j,13) = Form1.report.Value
arr(j,14) = Form1.chapterNo.Value
arr(j,15) = Form1.chapter.Value
arr(j,16) = NumberFigures
arr(j,17) = Form1.budget.Value
arr(j,18) = Form1.required.Value
arr(j,19) = Form1.children("figno" & j+1).Value
arr(j,20) = Form1.children("figname" & j+1).Value
arr(j,22) = Form1.children("fig01com" & j+1).Value
arr(j,23) = Form1.children("fig02com" & j+1).Value
If arr(j,23) <> "" Then
pos = InStrRev (arr(j,23),"\")
attachlength = len(arr(j,23)) - pos
attachname = right(arr(j,23),attachlength)
arr(j,24) = "\\bne-fs1\admin\Groups\GIS\Requests\" & requestNo & "\" & attachname
End If
Next
Код в теле... (таблица и строки уже определены к этому моменту)
document.write "<form name=""Form1"" method=""post"" onsubmit=""blank()"">"
document.write "<input name=""name"" type=""hidden"" VALUE=""" & strVar & """>"
document.write "<input name=""jobnumber"" type=""hidden"" value=""" & FigureAdd(0,8) & """>"
document.write "<input name=""cost"" type=""hidden"" value=""" & FigureAdd(0,9) & """>"
document.write "<input name=""client"" type=""hidden"" value=""" & FigureAdd(0,10) & """>"
document.write "<input name=""project"" type=""hidden"" value=""" & FigureAdd(0,11) & """>"
document.write "<input name=""reportNo"" type=""hidden"" value=""" & FigureAdd(0,12) & """>"
document.write "<input name=""report"" type=""hidden"" value=""" & FigureAdd(0,13) & """>"
document.write "<input name=""chapterNo"" type=""hidden"" value=""" & FigureAdd(0,14) & """>"
document.write "<input name=""chapter"" type=""hidden"" value=""" & FigureAdd(0,15) & """>"
document.write "<input name=""budget"" type=""hidden"" value=""" & FigureAdd(0,17) & """>"
document.write "<input name=""required"" type=""hidden"" value=""" & FigureAdd(0,18) & """>"
For i = 1 to NumberFigures
document.write "<td align=""center""><input name=""figno" & i & """ type=""text"" size=""5"" value=""figno" & i & """></td>"
document.write "<td align=""center""><input name=""figname" & i & """ type=""text"" size=""60"" value=""figname" & i & """></td>"
document.write "<td><textarea rows=""2"" cols=""40"" name=""fig01com" & i & """ form=""Form1"">fig01com" & i & "</textarea></td>"
document.write "<td><input name=""fig02com" & i & """ type=""file"" size=""30""><input name=""fig03com" & i & """ type=""hidden""></td></tr>"
document.write "<tr valign=""bottom""><td></td><td></td>"
Next
document.write "</tr></table>"
document.write "<input type=""button"" onclick=""Test()"" value=""Submit Request""></form>"
j
возникает ошибка? Действительно ли уForm1
есть дочерний элемент с именем"figname" & j+1
? Используйте инструменты веб-разработки вашего браузера для проверки сгенерированного HTML. - person Ansgar Wiechers   schedule 26.11.2013j=0
... но если бы у меня был только одинForm1.children("figno" & j+1).Value
, а остальные держались бы наForm1.figname1.Value
, что бесполезно, но ради тестирования, то он бы зависал наj=1
. Посмотрев на сгенерированный html (спасибо! никогда не знал, что смогу), я удалил таблицу, и, похоже, она работает отлично. Спасибо большое за ответ... - person RUski73   schedule 27.11.2013