guillaumepotier / Garlic.js

Automatically persist your forms' text and select field values locally, until the form is submitted.

Home Page:http://garlicjs.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Set absent select option.

LastRide opened this issue · comments

Garlic.js could set value that not exists for <select> tag.

The bug is here - https://github.com/guillaumepotier/Garlic.js/blob/master/garlic.js#L191.

Case:

  1. Create form with
<select>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
  1. Choose "1" option and submit form.
  2. Delete <option> with value "1" from form.
  3. Open form. You will see that <select> would be empty. Garlic.js would set "1" val to <select>.

And the bug is in the detectConflict() function. https://github.com/guillaumepotier/Garlic.js/blob/master/garlic.js#L221

It ignores first <option> value. If selected option would be the first and it's value would not be equals to option value - garlic would ignore this and set unexisting value to <select>

Up :)