Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 6309

Show
Ignore:
Timestamp:
03/04/07 17:43:36 (2 years ago)
Author:
mislav
Message:

fix issue with serializing and empty values, #7516

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • spinoffs/prototype/branches/form/src/form.js

    r6058 r6309  
    99      if (!element.disabled && element.name) { 
    1010        var key = element.name, value = $(element).getValue(); 
    11         if (value != undefined) { 
    12           if (result[key]) { 
     11        if (value != null) { 
     12          if (key in result) { 
    1313            if (result[key].constructor != Array) result[key] = [result[key]]; 
    1414            result[key].push(value); 
  • spinoffs/prototype/branches/form/test/unit/form.html

    r6146 r6309  
    6767</div> 
    6868 
     69<form id="form_array"> 
     70  <input type="text" name="twin" value="" /> 
     71  <input type="text" name="twin" value="siamese" /> 
     72</form> 
     73 
    6974<form id="form_getelements"> 
    7075  <select id="tf_selectOne" name="tf_selectOne"><option></option><option>1</option></select> 
     
    274279      assertEqual('val1=4', Form.serialize('form')); 
    275280 
    276        // Checks that select-related serializations work just fine 
    277        assertEqual('vu=1&vm%5B%5D=1&vm%5B%5D=3&nvu=One&nvm%5B%5D=One&nvm%5B%5D=Three&evu=&evm%5B%5D=&evm%5B%5D=Three', Form.serialize('form_selects')); 
     281      // Checks that select-related serializations work just fine 
     282      assertEqual('vu=1&vm%5B%5D=1&vm%5B%5D=3&nvu=One&nvm%5B%5D=One&nvm%5B%5D=Three&evu=&evm%5B%5D=&evm%5B%5D=Three', Form.serialize('form_selects')); 
     283       
     284      // should not eat empty values for duplicate names  
     285      assertEnumEqual(['', 'siamese'], Form.serialize('form_array', true)['twin']) 
    278286    }}, 
    279287