【发布时间】:2018-11-28 19:35:12
【问题描述】:
我正在开发一个经典的 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
%>
我不明白为什么会这样。 IT 基本上看起来不想与服务器通信,它在某处停了下来。这段代码有什么原因不起作用?
编辑:
<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
【问题讨论】:
-
您的提交还使用
onclick处理程序以编程方式触发了输入的更新,那么您如何保证在提交页面之前运行javascript?您发布的 HTML 结构中的txtaction输入在哪里? -
假设太多,删除
IncidentMain.asp中的If,然后使用Response.Write()检查提交是否到达。 -
alert()不会触发吗?您还应该在form中定义您的txtIncidentNumber文本输入字段,脚本可能在后台出错,因为它找不到form.txtIncidentNumber。检查您的网络开发工具(通常 F12 取决于浏览器)。 -
现在不知何故工作。感谢您的帮助
标签: vbscript asp-classic