Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 关于用dx2.5 ajaxpost的问题,研究了一天半了帮帮我

[复制链接]
shwan 发表于 2012-4-17 08:34:36 | 显示全部楼层 |阅读模式
x2.5用ajaxpost传参实在无法了,总是提示返回错误信息
我是这么做的:

代码1:
  • <form method="post" autocomplete="off" id="voteform_'.$gid.'" enctype="multipart/form-data" action="ext_vote.php?id='.$gid.'&refer=http://www.lijiangtv.com/huodong/2012cxlj/">
  • <input type="text" name="tp" id="tp" autocomplete="off" class="px vm"/>
  • <button class="pn pnc" type="submit" name="voteform_'.$gid.'" value="true" tabindex="100"><span>投票</span></button>
  • </form>

复制代码
返回时的showmessage代码:
  • showmessage($msg);

复制代码
如果在showmessage里加上链接等,如
  • showmessage($msg,"http://xxx.com");

复制代码
直接点不开链接。
头尾引用include template('common/header_ajax'); include template('common/footer_ajax'); 成功。

现在弹出信息如下:
昨天 22:08 上传
下载附件 (18 KB)


仅剩的天真 发表于 2012-4-26 09:56:59 | 显示全部楼层
{:soso_e104:}
回复

使用道具 举报

ubuntuchina 发表于 2012-4-26 10:07:00 | 显示全部楼层
是开发么? 没用过
回复

使用道具 举报

海草 发表于 2012-5-3 13:04:19 | 显示全部楼层
这样也可以啊
回复

使用道具 举报

jybb001 发表于 2012-5-25 09:53:44 | 显示全部楼层
本帖最后由 jybb001 于 2012-5-25 10:04 编辑

ajaxpost的时候有一个参数
  1. onsubmit="ajaxpost('formid','请稍后divid' ,'返回信息divid' , 'onerror');return false;"
复制代码
其中 "onerror" 决定了提示信息,无论你返回什么信息都提示 错误信息


解决办法是去掉这个参数   在表单提交的时候加个参数:  &handlekey=addurl    这个 handlekey的参数决定了返回的函数,然后你你ajaxpost的页面上加一段js函数  提示返回 信息就可以了。

类似这样:
  1. <script type="text/javascript">
  2.   function errorhandle_addurl (msg,arg){
  3.     if(msg=='添加网址成功'){
  4.       showDialog('添加网址成功', 'right', '恭喜', null, true, null, '', '', '', 3);
  5.       hideWindow('addurl', 0, 1);
  6.       //setTimeout("window.location.reload()",2000);
  7.       //document.getElementById('table_for_urls').appendChild('<tr><td></td></tr>')
  8.       row=document.getElementById('table_for_urls').insertRow(1);
  9.       c1=row.insertCell(0);
  10.       c1.innerHTML='添加网址成功';

  11.     }else{
  12.       showDialog(msg, 'error', '失败', null, true, null, '', '', '', 3);  
  13.     }
  14.    
  15. }
复制代码
函数名 errorhandle_addurl  由:errorhandle_  + 你的  handlekey 传递的参数组成 。

这种方法适用于用 showmessage返回的信息


如果是用:include template('common/header_ajax');   echo "string";   include template('common/footer_ajax');  返回的信息就不用这样了,只要去掉了 "onerror" 这个参数 ,然后自己处理返回数据就可以了。

还什么不明白的话可以我和交流,我也是碰到了,折腾了一天原搞明白了。

评分

3

查看全部评分

回复

使用道具 举报

 楼主| shwan 发表于 2012-5-25 09:56:51 | 显示全部楼层
jybb001 发表于 2012-5-25 09:53
ajaxpost的时候有一个参数其中 "onerror" 决定了提示信息,无论你返回什么信息都提示 错误信息

非常感谢!!!
回复

使用道具 举报

nenge 发表于 2012-6-2 21:51:39 | 显示全部楼层
showmessage('xxxx', '', array(), array('closetime' => true, 'showdialog' => 1, 'alert' => 'right'));
回复

使用道具 举报

mdtt999 发表于 2012-6-4 12:20:58 | 显示全部楼层
不懂,帮顶!
回复

使用道具 举报

ruziniu05100 发表于 2012-8-8 18:42:30 | 显示全部楼层
jybb001 发表于 2012-5-25 09:53
ajaxpost的时候有一个参数其中 "onerror" 决定了提示信息,无论你返回什么信息都提示 错误信息

你好,我想让ajax提交的数据返回信息,再用js处理,又不想弹出showmessage返回的成功信息(那个提交成功的提示弹出层)。该怎么办才好?多谢
回复

使用道具 举报

jybb001 发表于 2013-3-2 09:54:51 | 显示全部楼层
ruziniu05100 发表于 2012-8-8 18:42
你好,我想让ajax提交的数据返回信息,再用js处理,又不想弹出showmessage返回的成功信息(那个提交成功的 ...

返回的数据会自动被填充到你提交的参数里的 返回数据id里,你直接读取处理就可以了。
自己写个回调函数,读取返回 元素id 里的内容处理即可

具体参数如下:
  1. ajaxget() AJAX/GET请求

  2. ajaxget(url, showid, waitid, loading, display, recall)


  3. key         默认值         含义
  4. url         (必填)         请求的 url
  5. showid         (必填)         ajax 返回信息显示区域的 id
  6. waitid         showid         ajax 请求过程中显示等待信息区域的 id
  7. display                 信息返回后 showId 的 style.display 值
  8. recall                 信息返回后执行的代码

  9. ajax返回内容中的<A>标记可增加如下几个属性,可让<A>链接自动实现ajaxget功能
  10. ajaxtarget: 属性含义同 ajaxget() 的 showid
  11. ajaxwaitid: 属性含义同 ajaxget() 的 waitid
  12. ajaxloading: 属性含义同 ajaxget() 的 loading
  13. ajaxdisplay: 属性含义同 ajaxget() 的 display
  14. ajaxfunc:属性含义同 ajaxget() 的 recall


  15. ajaxpost() AJAX/POST请求

  16. function ajaxpost(formid, showid, waitid, showidclass, submitbtn, recall)
  17. key         默认值         含义
  18. formid         (必填)         ajax 提交的表单 id
  19. showid         (必填)         ajax 返回信息显示区域的 id
  20. waitid         showid         ajax 请求过程中显示等待信息区域的 id
  21. showidclass                 表单提交后返回信息显示区域的样式
  22. submitbtn                 表单提交按钮 ajax 请求发出后将会禁用这个按钮
  23. recall                 信息返回后执行的代码
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-15 21:46 , Processed in 0.024496 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表