Нелегкое время с обновлением таблицы SQL из HTML-формы, сгенерированной на asp-classic странице. Страница динамически создает таблицу на основе SQL-запроса; Я добавил форму для редактирования некоторых полей, отображаемых в таблице, но не смог вызвать функцию (то есть onclick), которую вызывает кнопка формы, используя приведенный ниже код. Я пробовал несколько вариантов синтаксиса, используемых для вызова функции через VBscript, и я ничего не пропустил. Мне интересно, пытаюсь ли я сделать что-то, что не может быть сделано в asp-classic среде из-за используемого кода на стороне сервера и ограничений, которые идут с этим (а также я пытаюсь использовать одну и ту же страницу для генерации результаты). Я знаю, что поведение по умолчанию для формы - это обновление страницы, если я не укажу другую страницу. В приведенном ниже коде я просто пытаюсь подтвердить поведение, прежде чем добавить инструкцию SQL в функцию. (Я обычно только извлечения или вставки данных для веб-сайта. - очень мало опыта обновления данных между одной страницы, как это)Вызов функции vbscript для обновления таблицы SQL из HTML-формы, сгенерированной на странице asp-classic
<br>
<form method="POST" id="form" action="">
<table>
<tr>
<td>
<select name="state">
<%
'populate the dropdown selection for the state within the form
do until rs.eof
For each x in rs.fields
response.write "<option value=" & x.Value & ">" & x.Value & "</option>" & vbNewLine
next
rs.movenext
loop
%>
</select>
</td>
<td>
<select name="ps">
<option value="blank"></option>
<option value="prime">Primary</option>
<option value="secondary">Secondary</option>
</select>
</td>
<td>
<input name="emp_num" size="5" maxlength="5" rows="1" ></textarea>
</td>
<td>
<input type="submit" onclick="Go" value="Update record"/>
</td>
</tr>
</table>
</form>
<%
function Go() {
msgbox "test"
//additional SQL code would be included here once the function actually works
}
%>
<%
'close the DB connection
dbconn.close
%>
</body>
</html>
Да, вы не можете вызвать код на стороне сервера (функция go) из кода на стороне клиента (onlcikc). То, что вы обычно делаете, это отправить форму, чтобы снова вызвать страницу или другую страницу, затем получает поля и работает SQL, а затем передает пользователю обновленные данные или статус представления. – Dijkgraaf