+ -
当前位置:首页 → 问答吧 → 如何用form插件返回指定的值?

如何用form插件返回指定的值?

时间:2009-05-13

来源:互联网

我现在用form插件做ajax操作

php文件
复制代码
  1. echo '<a></a>'; //显示几个链接
  2. if ($_GET['issub']=='true') {
  3.    //对表单的数据处理
  4. echo ‘成功'; //或者是失败
  5. } else {
  6.   echo '<div id="adminalert'"></div>';//显示返回信息
  7.   echo '<form id="testform">‘;//显示一个表单
  8.   //表单项
  9.   echo '<input type="submit" class="formbutton" value="提交" onclick="ajaxSubmitAlert('test')" />';
  10.   echo '</form>';
  11. }


jquery

复制代码
  1. function ajaxSubmitAlert(formpre) {
  2.     var acurl = $('#'+formpre+'form').attr('action') + '&issub=true';
  3.     var options = {
  4.         target : '#adminalert',
  5.         beforeSubmit : showRequest,
  6.         success : showResponse,
  7.         url : acurl
  8.     };
  9.     $('#'+formpre+'form').submit(function() {
  10.         $(this).ajaxSubmit(options);
  11.         return false;
  12.     });
  13.     $('#adminalert').show();
  14.     setTimeout("window.location=\'" + $('#'+formpre+'form').attr('action') + "\';",3000);
  15. }
  16. function showRequest(formData,jqForm,options) {
  17.     $('#adminalert').html('loading……');
  18.     return true;
  19. }
  20. function showResponse(responseText,statusText) {
  21.     $('#adminalert').html(responseText);
  22. }


现在返回是包括最上面的几个链接的整个页面,这样在#adminalert的div里显示时就会重复这几个链接,但这几个链接还不能放到别的地方,请问怎么只返回那个“成功 失败”的提示?
[ 此帖被klgd在2009-05-14 13:14重新编辑 ]

作者: klgd   发布时间: 2009-05-13

不知道你的ajaxSubmit是什么函数

此外form只写了name,你却用id来获取

然后是form没写action属性,你却用它作为url

最后是php没设置文件头,因此会输出text/html,可能不会是你想要的。且你无论get还是post都直接输出了'<a></a>',当然会出现链接…

作者: keakon   发布时间: 2009-05-14

引用
引用第1楼keakon于2009-05-14 00:32发表的  :
不知道你的ajaxSubmit是什么函数

此外form只写了name,你却用id来获取

然后是form没写action属性,你却用它作为url
.......


ajaxSubmit 是jquer.form这个插件的一个方法,我用的是这个插件

form那个是id的,我写错了,已经改过来了
action在这里我是省略了,没想到让你误会了 有action,就还是提交到这个页面了,比如我的action是index.php?ac=test,我在jquery里用url是index.php?ac=test&issub=true

我现在在想能不能只返回这个if里面的输出?
if ($_GET['issub']=='true') {
   //对表单的数据处理
echo ‘成功'; //或者是失败
}

作者: klgd   发布时间: 2009-05-14

你把
echo '<a></a>'; //显示几个链接
写到else里去啊

作者: keakon   发布时间: 2009-05-14

引用
引用第3楼keakon于2009-05-14 14:50发表的  :
你把
echo '<a></a>'; //显示几个链接
写到else里去啊

我的php文件里是这样的
echo '<a ></a>...';
if ($do=='a') {
  if ($_GET['issub']=='true') {

  } else {
   //form表单
  }
} elseif ($do=='b') {
  if ($_GET['issub']=='true') {

  } else {
   //form表单
  }
} ........
有多个$do分开多个form表单,<a>是这几个$do共同的,放到else里是可以,但有点重复了,所以就想问问能不能只返回指定值,或者说其他像ajax什么的有没有这个方法?

作者: klgd   发布时间: 2009-05-14

你不想重复就把get和post分开

即不要用index.php处理post

你弄个post.php或者action.php不就行了,看上去逻辑也清晰些

作者: keakon   发布时间: 2009-05-14

这样也行 我去试试

作者: klgd   发布时间: 2009-05-14