易截截图软件、单文件、免安装、纯绿色、仅160KB

ajax情况下阻止submit提交

 背景描述:
  
 有一个表单,里面有姓名,昵称,电话等信息,然后提交的时候要进行一些判断,比如是不是没有填写,电话号码是否符合规则等等,判断不通过的话,则阻止提
交。还有一项需求是判断昵称是否含有系统要过滤的词汇,而这些词汇的列表存放在服务器上,所以需要用到ajax来做。
    我的做法是在form里加上onsubmit="return checkForm();",如果checkForm()返回false,将阻止提交,如果返回true,表单就提交了。
问题描述:
    前面的那些判断都可以阻止,但是ajax的却不行,因为ajax是异步的,如:
function checkForm(
)
{
    if
(
document.
getElementById(
'name'
)
.
value =
=
''
)
    {
        alert(
'名字不能为空'
)
;
        return false;
    }
    
    requestAjax(
'test.php'
,
'par=val'
,
'get'
,
callback)
;
}
function callback(
)
{
    if
(
ajax.
responseText =
=
'N'
)
    {
        return false;
    }
}
检测结果需要等到服务器返回,但是onsubmit不会等到ajax返回就已经提交了。
解决方案:
  
 后来通过网上搜索,找到一种解决方法。就是不用submit按钮,而是换成button,给予button一个click事件,button的
onclick触发checkForm函数,然后如果ajax返回的时候N,就return
false,如果是Y,就执行document.forms["testf"].submit();代码如下:
function checkForm(
)
{
    if
(
document.
getElementById(
'name'
)
.
value =
=
''
)
    {
        alert(
'名字不能为空'
)
;
        return false;
    }
    
    requestAjax(
'test.php'
,
'par=val'
,
'get'
,
callback)
;
}
function callback(


相关文档:

Ajax基础教程

 Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序。对于Ajax,最核心的一个对象是XMLHttpRequest,所有的Ajax操作都离不开对这个对象的操作。
首先我们来了解怎么在javascript中创建这个对象:
var xmlHttp = new  ......

Ajax的ModalPopupExtender实现弹出框.txt

 ModalPopup 控件允许将 Web 页面中的一个部分以视窗程序中的“模式”形式显出来,起到提示用户操作和避免对页面中其它部分的误操作的作用。
“模式”的内容可以是任意一个 Control 类的派生控件,开发人员可以指定当它被“模式”显示的时候的背景的显示样式。
当一个页面控件被&ld ......

ASP.NET 与 AJAX的实现方式

到软件公司学IT技术http://www.tsp2c.cn/
Ajax 应该不是一项技术,是一种思想而已,跟 ASP.NET 以及其它 Web 开发语言没有什么太大关系,这里只是谈谈 ASP.NET 中目前使用的 Ajax 技术以及其它一些实现 Ajax 的优秀框架。
  Ajax 已经很流行一阵子了,现在谈 Ajax 觉得有点老土。目前所谓的 Web2.0 网站,基本上没有不 ......

Flex与Ajax交互

Flex与Ajax交互
三峡大学土木水电学院肖泽云
Flex与Ajax都是开发AIR非常好的技术,它们各有优缺点。Flex更简单,效果更加酷!但是在功能开发等方面不及Ajax成熟。最理想的就是全部用Flex来开发实现,但这只是一种理想状态,很多时候我们还是要用到Ajax。我们经常需要将嵌入到 Ajax 应用程序中的基于 Flash 的资源集成在一 ......

应用ASP.NET AJAX的注意事项

 1. 镜头迁徙应当应用实施镜头重定向的Response.Redirect而不是Server.Transfer,由于Server.Transfer不改变IE客户端URL,能以致ASP.NET AJAX客户端脚本访问资源的时分出现URL错处。
二.在服务器端登记脚本和掩藏字段应当施用种ScriptManager,而不是Page.ClientScript对象,由于Page.ClientScript的步骤是将脚本登记 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号