使用jquery使用手册,还是不行

> jquery ajax return值不能取得的解决方案
jquery ajax return值不能取得的解决方案
大家先看一段简单的jquery ajax 返回值的js
function&getReturnAjax{&&$.ajax({&&&&type:&POST&,&&&&url:&ajax/userexist.aspx&,&&&&data:&username=&+vusername.value,&&&&success:function(msg){&&&&if(msg==&ok&){&&&&&&showtipex(vusername.id,&&img&src='images/ok.gif'/&&b&&font&color='#ffff00'&该用户名可以使用&/font&&/b&&,false)&&&&&&return&true;&&&&}&&&&else&&&&{&&&&&&&&showtipex(vusername.id,&&img&src='images/cancel.gif'/&&b&&font&color='#ffff00'&该用户已被注册&/font&&/b&&,false);&&&&&&vusername.className=&bigwrong&;&&&&&&return&false;&&&&}&&&&}&&});&&}
&但是我们调用这个getReturnAjax()发现始终取得的都是false,那就是说return true,return false根本没有起作用,在火狐下用firebug调试也证明,代码根本不会执行到return 部分。
我们试想在函数里先定义一个变量,然后在ajax里赋值,最后在函数的末尾返回这个变量,会不会有效果呢?我们把代码修改如下:
function&getAjaxReturn()&&&{&&&&&&&var&bol=false;&&$.ajax({&&&&type:&POST&,&&&&url:&ajax/userexist.aspx&,&&&&data:&username=&+vusername.value,&&&&success:function(msg){&&&&if(msg==&ok&){&&&&&&showtipex(vusername.id,&&img&src='images/ok.gif'/&&b&&font&color='#ffff00'&该用户名可以使用&/font&&/b&&,false)&&&&&&//&return&&&&bol=true;&&&&}&&&&else&&&&{&&&&&&&&showtipex(vusername.id,&&img&src='images/cancel.gif'/&&b&&font&color='#ffff00'&该用户已被注册&/font&&/b&&,false);&&&&&&vusername.className=&bigwrong&;&&&&&&//return&&&&&}&&&&}&&});&&return&&&}
结果仍然不起作用。最后解决方案有2,如下
1、添加async:false.即修改为同步了,什么意思?(按同事解释就是,这是等这个ajax有了返回值后才会执行下面的js。一语道破天机,怪不得以前很多ajax调用里面的赋值都不起作用)。这样等ajax给bol赋值完毕后,才执行下面的js部分。而刚刚异步的话,还没有来得及赋值,就已经return了。
function&getAjaxReturn()&&&{&&&&&&&var&bol=false;&&$.ajax({&&&&type:&POST&,&&&&async:false,&&&&url:&ajax/userexist.aspx&,&&&&data:&username=&+vusername.value,&&&&success:function(msg){&&&&if(msg==&ok&){&&&&&&showtipex(vusername.id,&&img&src='images/ok.gif'/&&b&&font&color='#ffff00'&该用户名可以使用&/font&&/b&&,false)&&&&&&//&return&&&&bol=true;&&&&}&&&&else&&&&{&&&&&&&&showtipex(vusername.id,&&img&src='images/cancel.gif'/&&b&&font&color='#ffff00'&该用户已被注册&/font&&/b&&,false);&&&&&&vusername.className=&bigwrong&;&&&&&&//return&&&&&}&&&&}&&});&&return&&&}
2、 通过传入一个函数解决这个问题。
function&getAjaxReturn(success_function,fail_function){&&&&&&&var&bol=false;&&$.ajax({&&&&type:&POST&,&&&&url:&ajax/userexist.aspx&,&&&&data:&username=&+vusername.value,&&&&success:function(msg){&&&&if(msg==&ok&){&&&&&&showtipex(vusername.id,&&img&src='images/ok.gif'/&&b&&font&color='#ffff00'&该用户名可以使用&/font&&/b&&,false)success_function(msg);&&&&}&&&&else&&&&{&&&&&&&&showtipex(vusername.id,&&img&src='images/cancel.gif'/&&b&&font&color='#ffff00'&该用户已被注册&/font&&/b&&,false);&&&&&&vusername.className=&bigwrong&;fail_function(msg);&&&&&&//return&&&&&}&&&&}&&});function&success_function(info){//do&what&you&want&doalert(info);}funciont&fail_function(info){//do&what&you&&want&doalert(info);}
按需选择自己需要的方案吧。一般大网站都采用第2种传入函数的方式,来处理成功和失败情况下的页面提示。
本文地址 :
------分隔线----------------------------jquery的TextEditor和bootstrap 3不能一起使用啊?
bootstrap-3.0如果和jquery-te 的脚本同时出现,jquery-te 就没有作用,不会出现那种富文本编辑器。
要怎么解决?
其他相似问题
相关参考资料Jquery/js submit()无法提交问题
来源:&&&时间: 20:25:00&&&阅读数:
[导读] 有朋友可能会直接利用js或jquery来提交数据而不是使用表单直接提交了,小编来给大家介绍小编碰到的一个问题就是 submit()无法提交,下面我们来看解决办法与原因分析。jquery无法提交
代码如下复制代码
有朋友可能会直接利用js或jquery来提交数据而不是使用表单直接提交了,小编来给大家介绍小编碰到的一个问题就是 submit()无法提交,下面我们来看解决办法与原因分析。
无法提交
&form action=&register.php& method=&post&&&label&邮箱:&/label& &input type=&text& class=&loginform_input& id=&email& name=&email& /&&div id=&emailerror&&&/div&&input type=&button& class=&loginform_submit& id=&submit& value=&注册& /&&/form&&script&$(&#submit&).click(function() { $(&form&).submit(); });&/script&
当我提交时发现发无法正常提交,后来利用ff浏览器检查错误时发现我们有一个id=&submit&,这样解决办法就出来了我们把
&input type=&button& class=&loginform_submit& id=&submit& value=&注册& /&改为&input type=&button& class=&loginform_submit& id=&register& value=&注册& /&
再来提交就可以提交注册了,下面来介绍有一朋友利用js也碰以相同的问题,需要使用js提交form表单。发现使用document.form1.submit();方法无法提交表单。火狐提示 submit is not a function 。最后找到解决方案。1.表单中不能有name=&submit& 的标签 ----我的就是这个问题2
.&form action=&expat_search.php& name=&expat_search& id=&expat_search& method=&post& enctype=&multipart/form-data&&,
表单中不能缺少《enctype=&multipart/form-data&》。3.当使用js 进行FORM 表单验证时:js验证脚本可以放在两个地方&&& 1) 放在form 头标签中。 &&& 2)放在
&input type='submit'& onsubmit='js_code()' /&
,&& 3)放在
&input type='buttom' onclick='js_code()' /&
这里总结下如果使用2)或者3)标签方式。一定 submit =&'onsubmit', buttom=&'onclick' 成对使用不可以错换。 如&input type='submit' onclick='js_code()'/&这样是错误的。
除非特别声明,PHP100新闻均为原创或投稿报道,转载请注明作者及原文链接原文地址:
延伸阅读 More
视频教程 Video
网站服务:
专题合作 : qujing#(#换成@)
会员问题 :
友情链接 :
网站投稿 :
@php100官方
php100官方微信
Copyright (C) 2007-, All Rights Reserved 版权所有 京ICP备号-14
请关注php100官方微信使用jquery validate的时候无法触发 鼠标离开的时候进行验证?小弟我设置了onfocusout为true.但是还是不行 。求教
&来源:读书人网&【读书人网():综合教育门户网站】
使用jquery validate的时候无法触发 鼠标离开的时候进行验证?我设置了onfocusout为true.但是还是不行 。求
使用jquery validate的时候无法触发 鼠标离开的时候进行验证?我设置了onfocusout为true.但是还是不行 。求教$("#signupForm").validate({&&&&&&&&&&&&onfocusout:&true,&&&&&&&&&&&&onkeyup:&false,&&&&&&&&&&&&onclick:&false,&&&&&&&&&&&&rules:&{&&&&&&&&&&&&&&&&firstname:&"required",&&&&&&&&&&&&&&&&email:&{&&&&&&&&&&&&&&&&&&&&required:&true,&&&&&&&&&&&&&&&&&&&&email:&true&&&&&&&&&&&&&&&&},&&&&&&&&&&&&&&&&password:&{&&&&&&&&&&&&&&&&&&&&required:&true,&&&&&&&&&&&&&&&&&&&&minlength:&5&&&&&&&&&&&&&&&&},&&&&&&&&&&&&&&&&confirm_password:&{&&&&&&&&&&&&&&&&&&&&required:&true,&&&&&&&&&&&&&&&&&&&&minlength:&5,&&&&&&&&&&&&&&&&&&&&equalTo:&"#password"&&&&&&&&&&&&&&&&}&&&&&&&&&&&&},&&&&&&&&&&&&messages:&{&&&&&&&&&&&&&&&&firstname:&"请输入姓名",&&&&&&&&&&&&&&&&email:&{&&&&&&&&&&&&&&&&&&&&required:&"请输入Email地址",&&&&&&&&&&&&&&&&&&&&email:&"请输入正确的email地址"&&&&&&&&&&&&&&&&},&&&&&&&&&&&&&&&&password:&{&&&&&&&&&&&&&&&&&&&&required:&"请输入密码",&&&&&&&&&&&&&&&&&&&&minlength:&jQuery.format("密码不能小于{0}个字&符")&&&&&&&&&&&&&&&&},&&&&&&&&&&&&&&&&confirm_password:&{&&&&&&&&&&&&&&&&&&&&required:&"请输入确认密码",&&&&&&&&&&&&&&&&&&&&minlength:&"确认密码不能小于5个字符",
&&&&&&&&&&&&&&&&&&&&equalTo:&"两次输入密码不一致不一致"&&&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&});
[解决办法]一些jq插件不是案鋈擞霉圆寮奈侍饣卮鸬娜吮冉仙[解决办法]onblur事件不能调用jquery中ready里面定义的函数? - 网名还没想好 - 博客园
posts - 209, comments - 22, trackbacks - 0, articles - 2
现象:不能调用jquery中ready里面定义的函数
源码:&script type="text/javascript"&
$(document).ready(function(e) {
function test(){
alert('test!');
test(); // 报错,test()未定义
解析:ready也相当于一个函数,即新建一局部函数作用域,外面 当然不可用。和js的onload函数差不多,就比如onload="ready()"
function ready(){
function test(){
alert("test!")
你在外面肯定调用不了test()函数的
解决方法:
1、把要在外面调用的函数test()从$(document).ready 单独抽出来,供调用!
2、将要在外部调用的函数的作用域提升为全局作用域(变量申明),如下:
&script type="text/javascript"&
//定义一全局变量,可省略
$(document).ready(function(e) {
test=function(){
alert('test!');
test(); //现在可以在外部调用了
&a href='javascript:;' onclick='test();'&点击测试,test();供标签事件调用&/a&

我要回帖

更多关于 jquery datatable使用 的文章

 

随机推荐