本来小编是想用ajax 进行异步提交一些数据,但是数据有5,6个,甚至是很多,按正常是用getElementById等查询来取到相应的值,但是我觉得这样比较麻烦,因为如果要提交的东西稍微多一点的话,那就会显得很麻烦,很臃肿了,这样很是不好,想要知道是否有和submit一样的功能,直接把所有值提交过去来获取!如果有的话,那应该是怎样来实现的呢?
我在自己想办法的同时,也在网上看了一下相关方面的解决方法,发现是有和submit一样的功能的,因为我是用的jquery的,所以关于form操作时可以来实现的,而且也有三个方法来实现它,那就是下面的这三种:
form.ajaxSubmit(),form.submit()方法来form.ajaxForm(),最重要的是onsunmit事件,想要向多个页面上提交都是没有问题的,如下就是form操作来实现的功能:
//通过ajax提交form表单, 此方法是得到form表单里的参数 // frmID form 的id //结果:a=xxx&b=xxx function getFormQueryString(frmID) { var frmID=document.getElementById(frmID); var i,queryString = "", and = ""; var item; // for each form's object var itemValue;// store each form object's value for( i=0;i< frmID.length;i++ ) { item = frmID[i];/ / get form's each object if ( item.name!='') { if ( item.type == 'select-one' ) { itemValue = item.options[item.selectedIndex].value; } else if ( item.type=='checkbox' || item.type=='radio') { if ( item.checked == false ){continue;} itemValue = item.value; } else if ( item.type == 'button' || item.type == 'submit' || item.type == 'reset'){/ / ignore this type continue; } else { itemValue = item.value; } / itemValue = encodeURIComponent(itemValue); itemValue = encodeURI(encodeURIComponent(itemValue)); //汉字格式转换 queryString += and + item.name + '=' + itemValue; and="&a p;"; } } return queryString; }
这个思路对我是非常的重要的,不仅解决了我的问题,而且也开拓了我的思路,让我对解决这个问题有了更深层次的看法和理解,从而也知道了解决问题还是需要不同的方法和思路的!要非常全面地去思考一个问题,要想非常深刻的理解一门编程语言,在web开发这个道路上越走越远,不仅要多学习,而且要多加思考,将所学到的只是灵活应用!
评论加载中...
|
Copyright@ 2011-2017 版权所有:大连仟亿科技有限公司 辽ICP备11013762-1号 google网站地图 百度网站地图 网站地图
公司地址:大连市沙河口区中山路692号辰熙星海国际2215 客服电话:0411-39943997 QQ:2088827823 42286563
法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明