检测只有网络通畅才能提交表单
因为网络问题,常常断断续续的,常常用户填写了半天表单,提交的时候网络正好不通,刚才填写的全部就没有了。
所以进行了下面的改进,在submit之前,先检查网络是不是有问题,比如访问一个页面CtrlTest.aspx,看看是不是正常。
本来写这个程序的时候,只判断了xh.status结果发现总是不成功。
原来调用xh.send()时,如果网络不通,会出异常的。
下面的代码应该是可以的。
所以进行了下面的改进,在submit之前,先检查网络是不是有问题,比如访问一个页面CtrlTest.aspx,看看是不是正常。
本来写这个程序的时候,只判断了xh.status结果发现总是不成功。
原来调用xh.send()时,如果网络不通,会出异常的。
下面的代码应该是可以的。
<%@ Page language="c#" Codebehind="CtrlTest.aspx.cs" AutoEventWireup="false" Inherits="WGSys.Web.WaterWeb.CtrlTest" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>ConnectionTest</title>
<SCRIPT language="javascript">
var isConn;
function CanSubmit()
{
var d;
d = new Date();
xh = new ActiveXObject("Microsoft.XMLHTTP")
xh.onreadystatechange = getReady
try
{
xh.open("GET","CtrlTest.aspx?rnd="+d.getTime(),false);
xh.send();
}
catch(ex)
{
isConn=false;
}
if(!isConn)
{
alert('现在网络有问题,请稍后再提交!');
}
return isConn;
}
function getReady()
{
if(xh.readyState==4)
{
if(xh.status==200)
{
isConn=true;
}
else
{
isConn=false;
}
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM id="Form1" method="post" runat="server">
<INPUT type="submit" value="Button" onclick="return CanSubmit()">
</FORM>
</BODY>
</HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>ConnectionTest</title>
<SCRIPT language="javascript">
var isConn;
function CanSubmit()
{
var d;
d = new Date();
xh = new ActiveXObject("Microsoft.XMLHTTP")
xh.onreadystatechange = getReady
try
{
xh.open("GET","CtrlTest.aspx?rnd="+d.getTime(),false);
xh.send();
}
catch(ex)
{
isConn=false;
}
if(!isConn)
{
alert('现在网络有问题,请稍后再提交!');
}
return isConn;
}
function getReady()
{
if(xh.readyState==4)
{
if(xh.status==200)
{
isConn=true;
}
else
{
isConn=false;
}
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM id="Form1" method="post" runat="server">
<INPUT type="submit" value="Button" onclick="return CanSubmit()">
</FORM>
</BODY>
</HTML>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?