Sha256: 0486a7eac57282b28a5e6016bfdd4a6e266316e28f57a6bcc542a89747d1c202
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
#= require ./dom { matches } = Quails toArray = (e) -> Array.prototype.slice.call(e) Quails.serializeElement = (element, additionalParam) -> inputs = [element] inputs = toArray(element.elements) if matches(element, 'form') params = [] inputs.forEach (input) -> return unless input.name if matches(input, 'select') toArray(input.options).forEach (option) -> params.push(name: input.name, value: option.value) if option.selected else if input.checked or ['radio', 'checkbox', 'submit'].indexOf(input.type) == -1 params.push(name: input.name, value: input.value) params.push(additionalParam) if additionalParam params.map (param) -> if param.name? "#{encodeURIComponent(param.name)}=#{encodeURIComponent(param.value)}" else param .join('&') # Helper function that returns form elements that match the specified CSS selector # If form is actually a "form" element this will return associated elements outside the from that have # the html form attribute set Quails.formElements = (form, selector) -> if matches(form, 'form') toArray(form.elements).filter (el) -> matches(el, selector) else toArray(form.querySelectorAll(selector))
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby-on-quails-0.1.0 | actionview/app/assets/javascripts/rails-ujs/utils/form.coffee |