Кнопка приложения asp не работает правильно и не выполняет вызов сервера - PullRequest
0 голосов
/ 28 ноября 2018

Я работаю над классическим приложением asp (я знаю, не по выбору).У меня в форме есть кнопка, которая должна выполнять поиск по критериям, введенным пользователем.

Чтобы дать базовую структуру, вот как это выглядит:

<form action="IncidentMain.asp" method="post" name="frmAdd" onSubmit="return checkform( this )">

<input TYPE="image" SRC="Include/Search.gif"  ALT="Search" VALUE="submit" id="IMAGE4" name="IMAGE2" onclick="javascript: document.frmAdd.txtaction.value = 'search';" >

</form>

После нажатия на кнопку, как можно увидеть в форме action ="IncidentMain.asp", При отправке я вызываю функцию,который на самом деле вызывается правильно.

function checkform ( form )
{

    if (form.txtIncidentNumber.value == "") {
        alert( "Please Enter Incident Number" );
        form.txtIncidentNumber.focus();
        return false ;
    }
    alert("IM HERE");
    return true ;
}

Так что он определенно проходит через эту функцию, тогда у меня есть последний кусок кода, который фактически выполняет поиск:

<%
        IF Request.Form("txtaction") = "search" THEN
        'IT NEVER GETS HERE
        'SeLECT DATA FROM SQL SERVER
        End if
  %>

Iне понимаю, почему так происходит.По сути, он выглядит так, будто не хочет общаться с сервером, он где-то останавливается.Есть ли какая-то причина, по которой этот код не будет работать?

РЕДАКТИРОВАТЬ:

<form method="post" action="Incident.asp" name="frmuser" onsubmit="return checkform( this )">
     <input type="submit" value="Save / Submit" name="btnSubmit" 
     id="SaveButton"  >
</form>

этот код здесь не попадает в функцию checkform(this), но он попадает в мой код VB, который начинается какэто:

<%
    if Request.Form("btnSubmit") ="Save / Submit" THEN 

Ответы [ 3 ]

0 голосов
/ 29 ноября 2018

Подход может быть намного проще, если вы просто хотите проверить, что поиск был отправлен, который вы могли бы использовать;

Dim is_submit: is_submit = (Len(Request.Form & "") > 0)
If is_submit Then
  'We have a POST form submission do something.
End If

или даже;

Dim request_method: request_method = LCase(Request.ServerVariables("REQUEST_METHOD") & "")
If request_method = "post" Then
  'We have a POST request (likely a form submission).
End If

Хранение скрытых входных значений просто загромождает HTML и во многих случаях не требуется, когда вам также необходимо обновить их с помощью обработчиков событий вНа странице вы добавляете дополнительный слой ненужной сложности.

Однако для того, чтобы все это работало, у вас должно быть что-то для поиска, самые простые формы должны выглядеть примерно так:

<form action="IncidentMain.asp" method="post">
  <input type="text" name="txtIncidentNumber" value="" />
  <input type="image" name="IMAGE2" src="Include/Search.gif" alt="Search" value="submit" />
</form>
0 голосов
/ 26 декабря 2018

В форме отсутствует скрытое поле "txtaction".Добавьте поле и введите значение = "поиск".И удалите JavaScript, который должен был это сделать.

0 голосов
/ 29 ноября 2018

Добавить скрытое поле ввода txtaction в форму.

...