输入文本后的jQuery警报消息
输入文本后的jQuery警报消息,jquery,stored-procedures,asp-classic,Jquery,Stored Procedures,Asp Classic,txtTransactionDate和txtOperatorNumber是SQL过程中的参数,允许cboaSignedSite下拉菜单自动填充。有时,根据所选参数,cboAssignedSite没有值,我想向用户显示一条有意义的消息,指出这一点 到目前为止,我试图在其中一个文本字段的更改事件中添加一个警报。问题在于,该警报似乎发生在表单提交之前,因此无论下拉列表中是否有值,在发出警报时它总是显示为空 我是jQuery新手,所以这可能不是最好的方法。目标是提醒用户在选择文本字段中的参数后,下拉列表
txtTransactionDate
和txtOperatorNumber
是SQL过程中的参数,允许cboaSignedSite
下拉菜单自动填充。有时,根据所选参数,cboAssignedSite
没有值,我想向用户显示一条有意义的消息,指出这一点
到目前为止,我试图在其中一个文本字段的更改事件中添加一个警报。问题在于,该警报似乎发生在表单提交之前,因此无论下拉列表中是否有值,在发出警报时它总是显示为空
我是jQuery新手,所以这可能不是最好的方法。目标是提醒用户在选择文本字段中的参数后,下拉列表为空
提前谢谢
记录集:
Set RS=CN.Execute(“spSelect@vOperatorNumber=”&Request.Form(“txtOperatorNumber”)&“,@vTransDate=”&Request.Form(“txtTransactionDate”)&“)
Jquery:
$(document).ready(function()
{
$('#txtTransactionDate').change
(
function()
{
$('#frmRequest').submit();
}
);
$('#txtOperatorNumber').change
(
function()
{
$('#frmRequest').submit();
alert($('#cboAssignedSite option:selected').text());
}
);
});
HTML/ASP:
除非您需要/想要阻止用户提交表单,否则我将执行以下操作: 如果下拉列表为空,则在html中添加消息div并在加载时显示:
<script>
$(document).ready(function () {
if ($('#cboAssignedSite').val() === null) {
$('#message').show();
}
});
</script>
<form name="frmRequest" id="frmRequest" method="post">
<div id="message" style="border:1px solid red;display:none">No site available</div>
<input name="txtTransactionDate" type="text" id="txtTransactionDate" value="<%=vTransDate%>"/>
<input name="txtOperatorNumber" type="text" id="txtOperatorNumber" value="<%=vOperatorNumber%>"/>
<select name="cboAssignedSite" id="cboAssignedSite">
<%If Not RS.EOF Then
Do While Not RS.EOF%>
<option value='<%= RS("assignedSite")%>'
<%If Request.Form("cboAssignedSite") = RS("assignedSite") Then Response.Write("selected")%>>
<%= RS("location")%></option>
<%RS.MoveNext
Loop
End If%>
</select>
</form>
$(文档).ready(函数(){
if($('#cboAssignedSite').val()==null){
$(“#消息”).show();
}
});
没有可用的站点
您可以在不使用jQuery的情况下执行此操作:
<%If RS.EOF and Request.ServerVariables("REQUEST_METHOD") = "POST" Then %>
<div id="message" style="border:1px solid red">No site available</div>
<%end if%>
<form name="frmRequest" id="frmRequest" method="post">
<input name="txtTransactionDate" type="text" id="txtTransactionDate" value="<%=vTransDate%>"/>
<input name="txtOperatorNumber" type="text" id="txtOperatorNumber" value="<%=vOperatorNumber%>"/>
<select name="cboAssignedSite" id="cboAssignedSite">
<%If Not RS.EOF Then
Do While Not RS.EOF%>
<option value='<%= RS("assignedSite")%>'
<%If Request.Form("cboAssignedSite") = RS("assignedSite") Then Response.Write("selected")%>>
<%= RS("location")%></option>
<%RS.MoveNext
Loop
End If%>
</select>
</form>
没有可用的站点
更改值时,为什么要在jQuery中提交表单?你不需要两种价值观吗?如果下拉是空的,您可能需要考虑只在显示消息前检查值:是的,您是对的。我需要两种价值观;但是,我不知道如何在不提交表单的情况下将这两个值都获取到数据库中。我有两次提交,因为我不确定用户将首先输入哪个文本字段。再说一次,我是jQuery新手,所以可能有一个更简单的方法。我想将日期和操作员字段提交到数据库中,然后如果下拉菜单为空,则告诉用户类似“没有位置与您输入的日期和操作员关联。”这正是我要查找的!非常感谢。这也起了作用。我得把它放在我的后口袋里;我以前就想做这个服务器端。谢谢