我想要实现的 用ajax 提交表单数据 ,如下:
$.ajax({
type: "POST", //提交方式
url: "manage/administrator/get_systemval", // 提交路径
data: "name=John&location=Boston",
// 参数 问题出现在这里,因为我的表单元素的每个值都要传到控制器中去处理,我不想 将表单的值 一个个的取出来 传过去, 我想要实现类似于 我们点击 submit 按钮 在表单中 用action 提交路径 表单元素命名 我用的格式 统一为: form['xxx'] 然后在后台接的时候 我用一句$this-> input -> post('form'); 就可以将表单的值 全部接过来! 现在想使用 ajax方式 去实现! success: function(msg){
alert( "Data Saved: " + msg );
}
}); 请各位大侠帮忙!!
$.ajax({
type: "POST", //提交方式
url: "manage/administrator/get_systemval", // 提交路径
data: "name=John&location=Boston",
// 参数 问题出现在这里,因为我的表单元素的每个值都要传到控制器中去处理,我不想 将表单的值 一个个的取出来 传过去, 我想要实现类似于 我们点击 submit 按钮 在表单中 用action 提交路径 表单元素命名 我用的格式 统一为: form['xxx'] 然后在后台接的时候 我用一句$this-> input -> post('form'); 就可以将表单的值 全部接过来! 现在想使用 ajax方式 去实现! success: function(msg){
alert( "Data Saved: " + msg );
}
}); 请各位大侠帮忙!!
解决方案 »
- 关于php缓存,页面静态化的提问
- 如何上传MySql数据库到服务器?本人是PHP新手..
- 关于cookie的问题
- 有关多条件检索的问题
- 如何用php写一行多列的程序啊?要详细的代码
- 表news:id,title,link link表示引用id,比如link为2,表示当前记录指向id为2的记录,这样怎么select真实的数据呢?
- 在javascript中调用php函数不可行?
- 如何判断一字符串是否含中文字,此字符串是由页面表单传进来的?(php)
- 请问怎样备份mySQL的数据?谢谢
- 网上购物系统如何针对每个账号保留各自的购物车中商品信息?谢谢了
- 哪位高人能指教一下,对数据库记录进行控制的,急急急!!!!
- 这是怎么回事呀
按LZ的意思是data后面的值应该就是数组了.还没有遇到过,不知道能不能实现.
你完全可以写个js函数把form控件的name,value串起来作为发送参数发送过去啊。
var whereClause = "";
var and = "";
for ( i = 0 ; i < formElement.length ; i++ ) {
var element = formElement[i];
if ( element.name != "" ) {
if (element.type=='select-one') {
element_value = element.options[element.selectedIndex].value;
} else if ( element.type == 'checkbox' || element.type == 'radio' ) {
if ( element.checked == false ) {
break;
}
element_value = trim(element.value);
} else {
element_value = trim(element.value);
}
whereClause += and + 'form[' + trim(element.name) + ']=' + element_value.replace(/\&/g,"%26");
and = "&"
}
}
return whereClause;
}
$(document).ready(function(){
var url = 'ajax_server.php'; //ajax的post提交
$.post(url,
{ data: $("#form1").formSerialize()},
function(data){
alert(data); //debug:data即为处理结果
});
});
</script>
<form name="frm" id="frm">
<input type="text" name='key1' value="val1"/>
<input type="text" name='key2' value="val2"/>
<input type="text" name='key3' value="val3"/>
<input type="text" name='key4' value="val4"/>
</form>
<script>
var of = document.getElementById('frm')
,ip = of.elements
,postdata = []
for(var i=0,j=ip.length;i<j;i++){
postdata[postdata.length] = ip[i].name + '=' + ip[i].value;
}
alert(postdata.join('&'));
</script>
new Ext.Ajax.request({
form : 'form id值'
,upload : true
})
就可以构造个POST带文件上传的ajax请求,相信jquery也有相应办法。用了框架还自己写感觉有点傻,虽然原理都差不多。
//jquery果然效率高,,,,,我前面贴的有点问题,再献丑一次吧,个人测试通过
function encodeFormData(formElement) { //formElement == $('#XXX');
var whereClause = "";
var and = "";
for ( i = 0 ; i < formElement.length ; i++ ) {
var element = formElement[i];
alert(i);
if ( element.name != "" ) {
if (element.type=='select-one') {
element_value = element.options[element.selectedIndex].value;
} else if ( element.type == 'checkbox' || element.type == 'radio' ) {
if ( element.checked == false ) {
continue;
}
element_value = element.value;
} else {
element_value = element.value;
}
whereClause += and + 'form[' + element.name + ']=' + element_value.replace(/\&/g,"%26");
and = "&"
}
}
return whereClause;
}
当然,也可以自定义一个函数来循环表单项