1. #1
    Sencha User
    Join Date
    Oct 2011
    Location
    São Paulo - SP
    Posts
    22
    Vote Rating
    0
    maps_tecnologia is on a distinguished road

      0  

    Default Unanswered: Submit form - post whole record.

    Unanswered: Submit form - post whole record.


    I have a combobox and a datefield on my form. The combo box is backed up by a store and only show one field of it, like:
    A record: {name: bla, id:7. class: ble}
    Combobox shows: bla

    I want to submit my form POSTing my fields as JSON data, but don't want to post like: {name:bla, date:01/01/1900}.
    I want my combobox to submit the ENTIRE record, as such: {{name: bla, id:7. class: ble}date:01/01/1900}

    I am using a hiddenField and manually setting him like: hiddenField.setValue(record.get('a')........);

    Is there a better way to do this, maybe a "Extjs-way"?

  2. #2
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    36,754
    Answers
    3462
    Vote Rating
    827
    mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute

      0  

    Default


    You can pass in a params object in the submit method
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

  3. #3
    Sencha User
    Join Date
    Oct 2011
    Location
    São Paulo - SP
    Posts
    22
    Vote Rating
    0
    maps_tecnologia is on a distinguished road

      0  

    Default


    But how can I do something like:

    params: form.getField("combobox").GETMODELOBJECT ?

  4. #4
    Sencha - Community Support Team hendricd's Avatar
    Join Date
    Aug 2007
    Location
    Long Island, NY USA
    Posts
    5,962
    Answers
    9
    Vote Rating
    10
    hendricd will become famous soon enough hendricd will become famous soon enough

      0  

    Default


    Quote Originally Posted by maps_tecnologia View Post
    But how can I do something like:

    params: form.getField("combobox").GETMODELOBJECT ?
    Try:
    Code:
        Ext.pluck(form.getField("combobox").lastSelection || [], 'data')
    This will return a raw Array of selected Record objects (remember Combo support multiSelect).
    "be dom-ready..."
    Doug Hendricks

    Maintaining ux: ManagedIFrame, MIF2 (FAQ, Wiki), ux.Media/Flash, AudioEvents, ux.Chart[Fusion,OFC,amChart], ext-basex.js/$JIT, Documentation Site.


    Got Sencha licensing questions? Find out more here.


  5. #5
    Sencha User
    Join Date
    Oct 2011
    Location
    São Paulo - SP
    Posts
    22
    Vote Rating
    0
    maps_tecnologia is on a distinguished road

      0  

    Default


    Code:
     Ext.pluck(form.findField("combobox").lastSelection || [], 'data')
    It works =DJust so I can get this clearer, what does the
    Code:
    || [], 'data')
    do?

  6. #6
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    36,754
    Answers
    3462
    Vote Rating
    827
    mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute

      0  

    Default


    It tries to get the lastSelection from the combobox but if that is falsey then it will use a blank array '[]'
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

  7. #7
    Sencha User
    Join Date
    Oct 2011
    Location
    São Paulo - SP
    Posts
    22
    Vote Rating
    0
    maps_tecnologia is on a distinguished road

      0  

    Default


    Btw, I tried submiting my record but I got this:
    Code:
    request payload:
    param_bla=%5Bobject%20Object%5D&param_date=19-01-2012
    Code:
    var record = Ext.pluck(form.findField("ComboBox").lastSelection || [], 'data');
    
    Ext.Ajax.request({
          url:'rest/a/getBla',
          method: 'POST',
          headers: {'Content-Type':'application/json; charset=utf-8'},
          params: {
                	'param_bla': record,
                	'param_date': date
         }
    });

  8. #8
    Sencha - Community Support Team hendricd's Avatar
    Join Date
    Aug 2007
    Location
    Long Island, NY USA
    Posts
    5,962
    Answers
    9
    Vote Rating
    10
    hendricd will become famous soon enough hendricd will become famous soon enough

      0  

    Default


    @maps_tecnologia--

    The sample I provided returns an Array of selected records (as ComboBox may be configured to support multiple selections).

    If you are only allowing a SINGLE selection, then just use the first record:

    Code:
    var record = Ext.pluck(form.findField("ComboBox").lastSelection || [], 'data')[0];
    if(record) {
       Ext.Ajax.request({ 
           url        :'rest/a/getBla',       
           method: 'POST', 
           jsonData: Ext.apply( record,  {'param_date': date })   //mix in the date
       });
    }
    "be dom-ready..."
    Doug Hendricks

    Maintaining ux: ManagedIFrame, MIF2 (FAQ, Wiki), ux.Media/Flash, AudioEvents, ux.Chart[Fusion,OFC,amChart], ext-basex.js/$JIT, Documentation Site.


    Got Sencha licensing questions? Find out more here.


  9. #9
    Sencha User
    Join Date
    Oct 2011
    Location
    São Paulo - SP
    Posts
    22
    Vote Rating
    0
    maps_tecnologia is on a distinguished road

      0  

    Default


    Whoa, thats really nice, thanks!

    Just one more thing (sorry for being so demanding), but my date must be somehow separated from the other data.

    I am trying to send a Java object AND a Date field, so it should be like:
    Code:
    {{class:person, name:maps, age: 18}, date: 01-01-1990}
    I am trying, but with no success, things like:
    Code:
    jsonData:
        record,
        date
    ....

  10. #10
    Sencha - Community Support Team hendricd's Avatar
    Join Date
    Aug 2007
    Location
    Long Island, NY USA
    Posts
    5,962
    Answers
    9
    Vote Rating
    10
    hendricd will become famous soon enough hendricd will become famous soon enough

      0  

    Default


    So, that would be :

    jsonData : { record : record, date : yourDate }
    "be dom-ready..."
    Doug Hendricks

    Maintaining ux: ManagedIFrame, MIF2 (FAQ, Wiki), ux.Media/Flash, AudioEvents, ux.Chart[Fusion,OFC,amChart], ext-basex.js/$JIT, Documentation Site.


    Got Sencha licensing questions? Find out more here.


Thread Participants: 2

Turkiyenin en sevilen filmlerinin yer aldigi xnxx internet sitemiz olan ve porn sex tarzi bir site olan mobil porno izle sitemiz gercekten dillere destan bir durumda herkesin sevdigi bir site olarak tarihe gececege benziyor. Sitenin en belirgin ozelliklerinden birisi de Turkiyede gercekten kaliteli ve muntazam, duzenli porno izle siteleri olmamasidir. Bu yuzden iste. Ayrica en net goruntu kalitesine sahip adresinde yayinlanmaktadir. Mesela diğer sitelerimizden bahsedecek olursak, en iyi hd porno video arşivine sahip bir siteyiz. "The Best anal porn videos and slut anus, big asses movies set..."