Example usage for com.google.gwt.dom.client FormElement getElements

List of usage examples for com.google.gwt.dom.client FormElement getElements

Introduction

In this page you can find the example usage for com.google.gwt.dom.client FormElement getElements.

Prototype

public final NodeCollection<Element> getElements() 

Source Link

Document

Returns a collection of all form control elements in the form.

Usage

From source file:com.horaz.client.model.BaseModel.java

License:Open Source License

/**
 * reads data from form elements//from   ww  w  .  j  av a 2  s  . c  om
 * @param form
 * @throws ValidationException if validation fails
 */
public void setFields(FormElement form) throws ValidationException {
    for (ModelField fld : getStructure()) {
        Element elm = form.getElements().getNamedItem(fld.name);
        if (elm == null) {
            continue;
        }
        // get values
        Object value;
        if (elm instanceof InputElement) {
            value = ((InputElement) elm).getValue();
        } else if (elm instanceof TextAreaElement) {
            value = ((TextAreaElement) elm).getValue();
        } else {
            // TODO vervollstndigen
            value = elm.toString();
        }
        if (fld.validation != null) {
            if (!fld.validation.validate(value)) {
                throw new ValidationException(fld);
            }
        }
        fields.put(fld.name, value);
    }
}

From source file:io.reinert.requestor.form.FormDataSerializerUrlEncoded.java

License:Apache License

@Override
public Payload serialize(FormData formData) {
    StringBuilder serialized = new StringBuilder();

    final FormElement formElement = formData.getFormElement();
    if (formElement != null) {
        final NodeCollection<Element> elements = formElement.getElements();
        for (int i = 0; i < elements.getLength(); i++) {
            Element field = elements.getItem(i);

            try {
                if (!field.hasAttribute("name"))
                    continue;
            } catch (JavaScriptException e) {
                continue; // variable is not an element
            }//  w w w . j  av  a 2  s  .c  o  m

            String type = field.getNodeName().equalsIgnoreCase("input")
                    ? field.getAttribute("type").toLowerCase()
                    : "text";

            if (type.equals("file")) {
                logger.log(Level.WARNING,
                        "An attempt to serialize a non-string value from a FormData has failed."
                                + " Files and Blobs are not supported by FormDataSerializerUrlEncoded."
                                + " Maybe you want to switch the selected FormDataSerializer via deferred binding.");
                continue;
            }

            if ((type.equals("radio") || type.equals("checkbox")) && !isChecked(field))
                continue;

            final String name = encode(getName(field));
            final String value = encode(getValue(field));
            serialized.append(name).append('=').append(value).append('&'); // append 'name=value&'
        }
        serialized.setLength(serialized.length() - 1); // remove last '&' character
        return new Payload(serialized.toString());
    }

    for (FormData.Param param : formData) {
        final Object value = param.getValue();
        if (value instanceof String) {
            // append 'name=value&'
            serialized.append(encode(param.getName())).append('=').append(encode((String) value)).append('&');
        } else {
            logger.log(Level.WARNING,
                    "An attempt to serialize a non-string value from a FormData has failed."
                            + " Files and Blobs are not supported by FormDataSerializerUrlEncoded"
                            + " You may want to switch the selected FormDataSerializer via deferred binding.");
        }
    }
    serialized.setLength(serialized.length() - 1); // remove last '&' character
    return new Payload(serialized.toString());
}

From source file:org.datacleaner.monitor.shared.widgets.FormWizardClientController.java

License:Open Source License

@Override
public void requestNextPage(final AsyncCallback<WizardPage> callback) {
    final Map<String, List<String>> formParameters = new HashMap<String, List<String>>();

    final FormElement formElement = FormElement.as(_form);

    final NodeCollection<com.google.gwt.dom.client.Element> inputElements = formElement.getElements();
    for (int i = 0; i < inputElements.getLength(); i++) {
        final Element element = inputElements.getItem(i);

        final String name;
        final String value;
        final boolean included;

        final String tagName = element.getTagName();
        if (tagName.equalsIgnoreCase("input")) {
            InputElement inputElement = InputElement.as(element);
            name = inputElement.getName();
            value = inputElement.getValue();

            String type = inputElement.getType();
            if ("checkbox".equals(type) || "radio".equals(type)) {
                included = inputElement.isChecked();
            } else {
                included = true;// w  w  w. j a v  a  2  s  .co  m
            }
        } else {
            // useful for eg. <textarea> and <select> element types
            name = element.getPropertyString("name");
            value = element.getPropertyString("value");
            included = true;
        }

        if (included) {
            List<String> valueList = formParameters.get(name);
            if (valueList == null) {
                valueList = new ArrayList<String>();
                formParameters.put(name, valueList);
            }
            valueList.add(value);
        }
    }

    _service.nextPage(_tenant, _wizardPage.getSessionIdentifier(), formParameters, callback);
}

From source file:rocket.dom.client.Dom.java

License:Apache License

/**
 * Populates the given map with the values of the elements belonging to the
 * given form. The element name becomes the key and teh value the entry
 * value./*from  www  .jav  a2  s  . c  o  m*/
 * 
 * FormElements without a name are skipped.
 * 
 * @param map
 *            The destination map
 * @param form
 *            The form containing the elements.
 */
public static void populateMapFromForm(final Map<String, String> map, final FormElement form) {
    Checker.notNull("parameter:map", map);
    Checker.notNull("parameter:form", form);

    final NodeCollection<Element> formElements = form.getElements();
    final int count = formElements.getLength();
    for (int i = 0; i < count; i++) {
        final Element element = formElements.getItem(i);
        final String name = element.getAttribute(DomConstants.NAME);
        if (null == name) {
            continue;
        }

        final String value = Dom.getFormSubmitValue(element);
        map.put(name, value);
    }
}

From source file:rocket.dom.client.Dom.java

License:Apache License

/**
 * Encodes all the elements belonging to form into a safe url encoded
 * String.//from  w  w w  . j av  a2 s  .  co  m
 * 
 * @param form
 * @return
 */
public static String urlEncodeForm(final FormElement form) {
    Checker.notNull("parameter:form", form);

    final StringBuffer urlEncoded = new StringBuffer();
    boolean addSeparator = false;

    final NodeCollection<Element> formElements = form.getElements();
    final int count = formElements.getLength();
    for (int i = 0; i < count; i++) {
        final Element element = formElements.getItem(i);
        final String name = element.getAttribute(DomConstants.NAME);
        if (null == name) {
            continue;
        }

        if (addSeparator) {
            urlEncoded.append('&');
        }

        final String value = URL.encodeComponent(Dom.getFormSubmitValue(element));
        urlEncoded.append(name);
        urlEncoded.append('=');
        urlEncoded.append(value);

        addSeparator = true;
    }

    return urlEncoded.toString();
}