form submit 如何提交js文件里的变量
展开全部
var check = []; Ext.onReady(function() { Ext.BLANK_IMAGE_URL = "/dtjcsy/pages/js/ext/resources/images/default/s.gif"; var Tree= Ext.tree; var loader = new Ext.tree.TreeLoader; var tree = new Tree.TreePanel({ el:'tree-div', autoScroll:true, animate:true, enableDD:true, frame:false, border:false, useArrows:true, checkModel:'cascade', onlyLeafCheckable:false, rootVisible:true, bodyStyle:'background-color:#b4d5f5', containerScroll: true, listeners:{ checkchange:function(node,checked){ if(checked){ var id = node.attributes.id; check.push(id); } } }, loader: new Tree.TreeLoader({ dataUrl:'rightAction.action', baseParams:{roleId:1}, baseAttrs: { uiProvider: Ext.ux.TreeCheckNodeUI } }) }); var root =new Tree.AsyncTreeNode({ text:"可用权限列表", draggable:false, id:'0' }); tree.setRootNode(root); tree.render(); root.expand(); }); 问题补充:renpeng301 写道 params:check , 不行嗎? action 直接简单点 request来取得params吧· params:check 写到哪里 myali88 写道form组件里面的input,通过submit直接提交是可以的,但tree里面的值需要你自己获取再提交。怎么获取
var check = []; //... listeners : { checkchange : function(node , checked ) { if (checked) { var id = node.attributes.id;//也可以获取其他你需要的值 check.push(id); } } } //... 这样你就可以获取到所有选中的值,然后再form的submit时,把这个值也作为参数一起提交到服务器端就可以了。不需要其他的什么吗 这个check是在js里面的啊 submit时 它也自动提交? 问题补充:myali88 写道 myFormPanel.getForm().submit({ clientValidation: true, url: 'updateConsignment.php', params: { newStatus: 'delivered', check : check //你要提交的参数 }, success: function(form, action) { Ext.Msg.alert('Success', action.result.msg); } }); 像这样,把之前的check值作为一个额外参数让form提交就好了。 url: 'updateConsignment.php',//这个是我FORM在的页面吗 还是什么? newStatus: 'delivered',//这个是什么 问题补充:引用这个是我随便找的一个例子,演示一下。你说你的页面里有个form和tree嘛,那Tree组件获取你要的值,我前面说过了。那form,你肯定也是用组件了,Ext.form.FormPanel,上面就是个例子,url表示你要提交的form的地址,params里面设置你要提交的请求参数,名字你可以自己定的,我这里是一个例子而已。你可以看看Ext.form.BasicForm的API就知道了。我只用ext做了个树 别的全都不是ext的 form也不是
是写到js文件里面的吗 还是写到哪
这里只能用js啊!你可以把它放到点击tree的事件里面:
//... listeners : { checkchange : function(node , checked ) { var form = Ext.get('form-id);//这里使用form的ID if (checked) { var id = node.attributes.id;//也可以获取其他你需要的值 form.appendChild('<input type="hidden" name="id" value="' + id + '"/>');//加到form里面去 } else {//取消选择时,把form里面原来的input删除 var input = DomQuery.selectNode('input[value=' + id + ']',form.dom); input && input.remove(); } } } //... 大致就是这个意思,代码我没有调试,你可以参考这个自己改改。没有效果啊 问题补充:myali88 写道引用怎么把check放到input里
是写到js文件里面的吗 还是写到哪
这里只能用js啊!你可以把它放到点击tree的事件里面:
//... listeners : { checkchange : function(node , checked ) { var form = Ext.get('form-id);//这里使用form的ID if (checked) { var id = node.attributes.id;//也可以获取其他你需要的值 form.appendChild('<input type="hidden" name="id" value="' + id + '"/>');//加到form里面去 } else {//取消选择时,把form里面原来的input删除 var input = DomQuery.selectNode('input[value=' + id + ']',form.dom); input && input.remove(); } } } //... 大致就是这个意思,代码我没有调试,你可以参考这个自己改改。没有效果啊 问题补充:myali88 写道引用没有效果啊 我说了,我的代码只是表达这个意思,是否可以运行,还有结合你页面具体情况,基本意思就是这样了。你自己调试再改改就可以了。
没有“效果”,你要看看input是否添加到form里面去了,通过firebug可以查看的啊!我不知道你的页面结构,怎么能保证代码复制过去就可以了呢。自己要多动手,这样你才能提高啊!没有别的方法吧 extjs tree 里的变量 和form 一起提交吗? 这个我不会弄 问题补充:myali88 写道引用没有别的方法吧 extjs tree 里的变量 和form 一起提交吗? 这个我不会弄
我能想到的就这个方法了。你说不会弄,方法我已经告诉你了,把tree节点的值以input的方式动态加到form里面去,你是说js代码不会写吗?这个很基础的,那你要多多努力了。
你把你运行后的浏览器源代码发上来,我看看。 当选中checkbox后 firebug报错 如下 源代码 没多<input type="hidden"> el is null Ext.DomHelper=function(){var n=null;va...xt.History,new Ext.util.Observable()); 这是extjs文件 var check = []; Ext.onReady(function() { Ext.BLANK_IMAGE_URL = "/dtjcsy/pages/js/ext/resources/images/default/s.gif"; var Tree= Ext.tree; var loader = new Ext.tree.TreeLoader; var tree = new Tree.TreePanel({ el:'tree-div', autoScroll:true, animate:true, enableDD:true, frame:false, border:false, useArrows:true, checkModel:'cascade', onlyLeafCheckable:false, rootVisible:true, bodyStyle:'background-color:#b4d5f5', containerScroll: true, loader: new Tree.TreeLoader({ dataUrl:'rightAction.action', baseParams:{roleId:2}, baseAttrs: { uiProvider: Ext.ux.TreeCheckNodeUI } }),listeners:{ checkchange:function(node,checked){ var form = Ext.get('form1'); if(checked){ var id = node.attributes.id; form.appendChild('<input type="hidden" name="checks" value="'+id+'"/>'); }else{ var inut = DomQuery.selectNode('input[value='+id+']',form.dom); input && input.remove(); } alert(check) } } }); var root =new Tree.AsyncTreeNode({ text:"可用权限列表", draggable:false, id:'0' }); tree.setRootNode(root); tree.render(); root.expand(); });
var check = []; //... listeners : { checkchange : function(node , checked ) { if (checked) { var id = node.attributes.id;//也可以获取其他你需要的值 check.push(id); } } } //... 这样你就可以获取到所有选中的值,然后再form的submit时,把这个值也作为参数一起提交到服务器端就可以了。不需要其他的什么吗 这个check是在js里面的啊 submit时 它也自动提交? 问题补充:myali88 写道 myFormPanel.getForm().submit({ clientValidation: true, url: 'updateConsignment.php', params: { newStatus: 'delivered', check : check //你要提交的参数 }, success: function(form, action) { Ext.Msg.alert('Success', action.result.msg); } }); 像这样,把之前的check值作为一个额外参数让form提交就好了。 url: 'updateConsignment.php',//这个是我FORM在的页面吗 还是什么? newStatus: 'delivered',//这个是什么 问题补充:引用这个是我随便找的一个例子,演示一下。你说你的页面里有个form和tree嘛,那Tree组件获取你要的值,我前面说过了。那form,你肯定也是用组件了,Ext.form.FormPanel,上面就是个例子,url表示你要提交的form的地址,params里面设置你要提交的请求参数,名字你可以自己定的,我这里是一个例子而已。你可以看看Ext.form.BasicForm的API就知道了。我只用ext做了个树 别的全都不是ext的 form也不是
是写到js文件里面的吗 还是写到哪
这里只能用js啊!你可以把它放到点击tree的事件里面:
//... listeners : { checkchange : function(node , checked ) { var form = Ext.get('form-id);//这里使用form的ID if (checked) { var id = node.attributes.id;//也可以获取其他你需要的值 form.appendChild('<input type="hidden" name="id" value="' + id + '"/>');//加到form里面去 } else {//取消选择时,把form里面原来的input删除 var input = DomQuery.selectNode('input[value=' + id + ']',form.dom); input && input.remove(); } } } //... 大致就是这个意思,代码我没有调试,你可以参考这个自己改改。没有效果啊 问题补充:myali88 写道引用怎么把check放到input里
是写到js文件里面的吗 还是写到哪
这里只能用js啊!你可以把它放到点击tree的事件里面:
//... listeners : { checkchange : function(node , checked ) { var form = Ext.get('form-id);//这里使用form的ID if (checked) { var id = node.attributes.id;//也可以获取其他你需要的值 form.appendChild('<input type="hidden" name="id" value="' + id + '"/>');//加到form里面去 } else {//取消选择时,把form里面原来的input删除 var input = DomQuery.selectNode('input[value=' + id + ']',form.dom); input && input.remove(); } } } //... 大致就是这个意思,代码我没有调试,你可以参考这个自己改改。没有效果啊 问题补充:myali88 写道引用没有效果啊 我说了,我的代码只是表达这个意思,是否可以运行,还有结合你页面具体情况,基本意思就是这样了。你自己调试再改改就可以了。
没有“效果”,你要看看input是否添加到form里面去了,通过firebug可以查看的啊!我不知道你的页面结构,怎么能保证代码复制过去就可以了呢。自己要多动手,这样你才能提高啊!没有别的方法吧 extjs tree 里的变量 和form 一起提交吗? 这个我不会弄 问题补充:myali88 写道引用没有别的方法吧 extjs tree 里的变量 和form 一起提交吗? 这个我不会弄
我能想到的就这个方法了。你说不会弄,方法我已经告诉你了,把tree节点的值以input的方式动态加到form里面去,你是说js代码不会写吗?这个很基础的,那你要多多努力了。
你把你运行后的浏览器源代码发上来,我看看。 当选中checkbox后 firebug报错 如下 源代码 没多<input type="hidden"> el is null Ext.DomHelper=function(){var n=null;va...xt.History,new Ext.util.Observable()); 这是extjs文件 var check = []; Ext.onReady(function() { Ext.BLANK_IMAGE_URL = "/dtjcsy/pages/js/ext/resources/images/default/s.gif"; var Tree= Ext.tree; var loader = new Ext.tree.TreeLoader; var tree = new Tree.TreePanel({ el:'tree-div', autoScroll:true, animate:true, enableDD:true, frame:false, border:false, useArrows:true, checkModel:'cascade', onlyLeafCheckable:false, rootVisible:true, bodyStyle:'background-color:#b4d5f5', containerScroll: true, loader: new Tree.TreeLoader({ dataUrl:'rightAction.action', baseParams:{roleId:2}, baseAttrs: { uiProvider: Ext.ux.TreeCheckNodeUI } }),listeners:{ checkchange:function(node,checked){ var form = Ext.get('form1'); if(checked){ var id = node.attributes.id; form.appendChild('<input type="hidden" name="checks" value="'+id+'"/>'); }else{ var inut = DomQuery.selectNode('input[value='+id+']',form.dom); input && input.remove(); } alert(check) } } }); var root =new Tree.AsyncTreeNode({ text:"可用权限列表", draggable:false, id:'0' }); tree.setRootNode(root); tree.render(); root.expand(); });
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询