2015-02-26 2 views
0

Я делаю dijit.form.Form с двумя фильтрами. Выберите с возможностью добавления дополнительных пользовательских фильтров выбор динамически, но когда я пытаюсь опубликовать форму с xhr.post, никакие значения не отправляются, Я попытался преобразовать форму в Json перед публикацией, но объект пуст. Я знаю, что могу получить доступ ко всем значениям filteringselects и публиковать их, но я стремился к автоматическому способу «легко отправить». Спасибо за помощь заранее.ФильтрацияВыберите значения, не входящие в додзё Форма

define([ 
"dojox/layout/ContentPane", 
"dijit/form/Form", 
"dijit/form/Button", 
"dojox/widget/Standby", 
"app/appCW/appWayP", 
"dojo/data/ItemFileReadStore", 
"dijit/form/FilteringSelect", 
"dojo/_base/xhr", 
"dojo/dom", 
"dojo/on", 
"dojo/dom-form", 
"dojo/dom-construct", 
"dojo/io/script", 
"dojo/_base/lang" 
], function(ContentPane,Form,Button,Standby,appWayP,ItemFileReadStore,FilteringSelect,xhr,dom,on,domform,domConstruct,script,lang){ 
return{ 
    initLayout:function(){ 
     var rtCont= new ContentPane({ 
      title: "Route", 
      id: "rtCont", 
      style: "height: 100%; width: 100%;margin:0px;padding:3px", 
      content:"<DIV class=app_title><SPAN>Routing</SPAN></DIV>"+ 
      "<DIV id='NodesList'></DIV>" 
     }); 
     dijit.byId("AppsTC").addChild(rtCont); 
     var nodeStore = new ItemFileReadStore({ 
      identifier: "id", 
      label: "name", 
      url:"../NodeService" 
     }); 
     nodeStore.fetch(); 
     var RouteFrm= new Form({ 
      //encType: 'multipart/form-data', 
      id:"RouteFrm", 
      action:"../RouteService", 
      method:"", 
      onSubmit:function(e){ 
       dojo.stopEvent(e); 
       var data = domform.toJson("RouteFrm"); 
       alert(data); 
       var xhrArgs = { 
        form: dojo.byId("RouteFrm"), 
        handleAs: "json", 
        load: function(data){ 

        }, 
        error: function(error){ 

        } 
       }; 
       var deferred = xhr.post(xhrArgs); 
      } 
     },"NodesList"); 
     //This button to add more filteringselects 
     var pluswPoint = new Button({ 
      id: "pluswPoint", 
      label: "Add WayPoint", 
      showLabel: false, 
      iconClass: "waypointplus", 
      onClick: function() { 
       var wContainer = dom.byId("waypoints_container"); 
       var tmpgtest = new appWayP({ 
        'nodeStore':nodeStore 
       }).placeAt(wContainer); 
       tmpgtest.startup(); 
      } 
     }); 
     //This button to submit form 
     var showRoute= new Button({ 
      id: "showRoute", 
      label: "Show Route", 
      showLabel: true, 
      type:"submit" 
     }); 
     var inNode= new FilteringSelect({ 
      id:"inNode", 
      value: "", 
      store: nodeStore, 
      'class': 'node_filteringselect', 
      searchAttr: "name", 
      placeholder: "Start" 
     }); 
     var desNode= new FilteringSelect({ 
      id:"desNode", 
      value: "", 
      store: nodeStore, 
      'class': 'node_filteringselect', 
      searchAttr: "name", 
      placeholder: "End" 
     }); 
     RouteFrm.domNode.appendChild(inNode.domNode); 
     RouteFrm.domNode.appendChild(pluswPoint.domNode); 
     domConstruct.create("div",{id:"waypoints_container"},RouteFrm.domNode); 
     RouteFrm.domNode.appendChild(desNode.domNode); 
     RouteFrm.domNode.appendChild(showRoute.domNode); 
     RouteFrm.startup(); 
     rtCont.startup(); 
    } 
} 
}); 

ответ

0

Попробуйте добавить имя в дополнение к идентификатору для фильтрации выберите, форма не будет возвращать значение, если он не видит имя.

+0

Спасибо, имя было причиной. – ppmer

 Смежные вопросы

  • Нет связанных вопросов^_^