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

Changeset 5841

Show
Ignore:
Timestamp:
01/05/07 00:18:01 (2 years ago)
Author:
sam
Message:

prototype: Form.serialize once again works with non-form elements. This is a temporary change to prevent the Rails link_to_remote regression described in #6898. Prototype 1.5.1 will introduce an API for working with collections of arbitrary form elements. References #6887. Closes #6898.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • spinoffs/prototype/CHANGELOG

    r5831 r5841  
    11*SVN* 
     2 
     3* Form.serialize once again works with non-form elements.  This is a temporary change to prevent the Rails link_to_remote regression described in #6898.  Prototype 1.5.1 will introduce an API for working with collections of arbitrary form elements.  References #6887.  Closes #6898.  [sam] 
    24 
    35* Make selectors match forms that have an element with name="id" correctly, fixes #5759 [mislav] 
  • spinoffs/prototype/src/form.js

    r5675 r5841  
    1616Form.Methods = { 
    1717  serialize: function(form) { 
    18     return Form.serializeElements($(form).getElements()); 
     18    return Form.serializeElements(Form.getElements(form)); 
    1919  }, 
    2020   
  • spinoffs/prototype/test/unit/form.html

    r5675 r5841  
    3030  <input type="submit" /> 
    3131</form> 
    32 <form id="form_selects"> 
    33   <select name="vu"> 
    34      <option value="1" selected="selected">One</option> 
    35      <option value="2">Two</option> 
    36      <option value="3">Three</option> 
    37   </select> 
    38   <select id="multiSel1" name="vm[]" multiple="multiple"> 
    39      <option id="multiSel1_opt1" value="1" selected="selected">One</option> 
    40      <option id="multiSel1_opt2" value="2">Two</option> 
    41      <option id="multiSel1_opt3" value="3" selected="selected">Three</option> 
    42   </select> 
    43   <select name="nvu"> 
    44      <option selected="selected">One</option> 
    45      <option value="2">Two</option> 
    46      <option value="3">Three</option> 
    47   </select> 
    48   <select name="nvm[]" multiple="multiple"> 
    49      <option selected="selected">One</option> 
    50      <option>Two</option> 
    51      <option selected="selected">Three</option> 
    52   </select> 
    53   <select name="evu"> 
    54      <option value="" selected="selected">One</option> 
    55      <option value="2">Two</option> 
    56      <option value="3">Three</option> 
    57   </select> 
    58   <select name="evm[]" multiple="multiple"> 
    59      <option value="" selected="selected">One</option> 
    60      <option>Two</option> 
    61      <option selected="selected">Three</option> 
    62   </select> 
    63 </form> 
     32<div id="form_wrapper"> 
     33  <form id="form_selects"> 
     34    <select name="vu"> 
     35       <option value="1" selected="selected">One</option> 
     36       <option value="2">Two</option> 
     37       <option value="3">Three</option> 
     38    </select> 
     39    <select id="multiSel1" name="vm[]" multiple="multiple"> 
     40       <option id="multiSel1_opt1" value="1" selected="selected">One</option> 
     41       <option id="multiSel1_opt2" value="2">Two</option> 
     42       <option id="multiSel1_opt3" value="3" selected="selected">Three</option> 
     43    </select> 
     44    <select name="nvu"> 
     45       <option selected="selected">One</option> 
     46       <option value="2">Two</option> 
     47       <option value="3">Three</option> 
     48    </select> 
     49    <fieldset id="form_fieldset"> 
     50      <select name="nvm[]" multiple="multiple"> 
     51         <option selected="selected">One</option> 
     52         <option>Two</option> 
     53         <option selected="selected">Three</option> 
     54      </select> 
     55      <select name="evu"> 
     56         <option value="" selected="selected">One</option> 
     57         <option value="2">Two</option> 
     58         <option value="3">Three</option> 
     59      </select> 
     60      <select name="evm[]" multiple="multiple"> 
     61         <option value="" selected="selected">One</option> 
     62         <option>Two</option> 
     63         <option selected="selected">Three</option> 
     64      </select> 
     65    </fieldset> 
     66  </form> 
     67</div> 
    6468 
    6569<form id="form_getelements"> 
     
    264268       // Checks that select-related serializations work just fine 
    265269       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')); 
    266     }} 
     270    }}, 
     271     
     272    testFormSerializeWorksWithNonFormElements: function() {with(this) { 
     273      assertEqual('nvm%5B%5D=One&nvm%5B%5D=Three&evu=&evm%5B%5D=&evm%5B%5D=Three', Form.serialize('form_fieldset')); 
     274      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_wrapper')); 
     275    }}  
    267276     
    268277  }, 'testlog');