ajax 获取表单内容然后传递PHP-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

ajax 获取表单内容然后传递PHP

2016-03-10 10:09:33 1866 1

我之前一直在用DOM通过js提取表单内容给PHP做处理,其实也就相当于没用form。。
后来form的内容越来越多了,通过一个个getElementById来获取表单内容然后给PHP越来越不现实了
我在想能不能通过form原本的POST方式(或者有别的方式?)直接将表单内容变成数组,然后js获取数组之后在传递给后台PHP,然后PHP在解析数组做处理,这样做ajax?
可能以上描述不是很专业,忘大神谅解,非常感谢

取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 18:56:57

    设置表单的target为隐藏iframe的name值,将表单提交到隐藏iframe来模拟ajax无刷新操作,或者倒入jquery框架,调用serialize方法即可将表单序列化为键值对字符串。

    或者自己遍历表单也行

            function serializeForm(f) {//参数f为表单这个DOM对象
                var params = '', tmp;
                for (var i = 0; i < f.elements.length; i++) {
                    if (f.elements[i].name) {
                        switch (f.elements[i].type) {
                            case 'hidden':
                            case 'password':
                            case 'text':
                            case 'textarea':
                            case 'select-one':
                                params += (params == '' ? '' : '&') + f.elements[i].name + '=' + encodeURIComponent(f.elements[i].value); break;
                            case 'select-multiple':
                                tmp = '';
                                for (var p = 0; p < f.elements[i].options.length; p++)
                                    if (f.elements[i].options[p].selected) tmp += (tmp == '' ? '' : ',') + f.elements[i].options[p].value;
                                if (tmp != '') params += (params == '' ? '' : '&') + f.elements[i].name + '=' + encodeURIComponent(tmp); break;
                            case 'radio': case 'checkbox':
                                if (f.elements[i].checked) params += (params == '' ? '' : '&') + f.elements[i].name + '=' + encodeURIComponent(f.elements[i].value); break;
                        }
                    }
                }
                return params;
            }
    0 0
相关问答

0

回答

ajax 获取表单内容然后传递PHP

2016-06-01 13:42:08 1651浏览量 回答数 0

1

回答

jquery ajax 如何避免重复提交

2016-07-29 10:42:45 1661浏览量 回答数 1

1

回答

jquery ajax 的$.post()跟$.get()方法有什么区别

2016-07-07 14:20:15 2009浏览量 回答数 1

1

回答

JQuery Ajax + PHP 出现乱码,求解决方法

2016-07-07 14:30:30 2027浏览量 回答数 1

1

回答

jquery ajax 读取json数据存入表格中

2016-07-07 14:45:32 2145浏览量 回答数 1

1

回答

Jquery Ajax 事件如何绑定多个函数

2016-07-06 10:47:57 1434浏览量 回答数 1

1

回答

jquery ajax问题

2016-07-06 14:52:07 1478浏览量 回答数 1

1

回答

jquery ajax 求教怎么总是弹出错误?

2016-07-06 15:58:25 1819浏览量 回答数 1

1

回答

jquery ajax 赋值 回调函数

2016-07-06 16:41:14 1667浏览量 回答数 1

1

回答

如何判断多个Jquery.ajax全部请求完毕?

2016-05-31 11:30:01 1623浏览量 回答数 1
2709
文章
6591
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载