iberck
11/2/2016 - 8:53 PM

Submits

Submits

input type submit vs button type submit

Ambos tienen la misma funcionalidad sin embargo <button type="submit"> es más nuevo que <input type="submit"> y es más fácil de darle estilo porque soporta código HTML/CSS dentro del tag, su desventaja es que no está soportado en navegadores antiguos.

actionSubmit

Cuando se utiliza un submit normal dentro de un form, es el form por sí mismo el que indica hacia dónde enviar el formulario. Sin embargo este tag sobreescribe ese comportamiento y determina cuál acción es ejecutada (sin importar la acción del form).

Cada actionSubmit permite enviar a una acción distinta dentro del mismo form.

<g:form>
    Nombre: <g:textField name="nombre"></g:textField><br/>
    Edad: <g:textField name="edad"></g:textField><br/>

    <g:actionSubmit action="index2Submit" value="Enviar" />
</g:form>

A pesar de que el action del form no es utilizado por actionSubmit para el envío del formulario, la URL que quedará en la barra del browser después de hacer el submit es la que tenga el <g:form> y no la del actionSubmit. Por lo tanto se recomienda no poner un action en el <g:form>.

<g:form action="index2"> -> http://localhost:8080/sigrem/test/index2

<g:form> -> http://localhost:8080/sigrem/test/index

El submit genera: <input type="submit" name="_action_index2Submit" value="Enviar">

submitButton

Crea un botón submit el cual envía hacia el action del form.

<g:form action="index2Submit">
    Nombre: <g:textField name="nombre"></g:textField><br/>
    Edad: <g:textField name="edad"></g:textField><br/>

    <g:submitButton name="update" value="actualizar"/>
</g:form>

El submit genera: <input type="submit" name="update" value="actualizar" id="update">

button submit

Un <button type="submit"> funciona igual que un submitButton siempre y cuando se escriba el action en el form.

<div class="box box-primary">
    <g:form action="index2Submit">
        <div class="box-body">
            Nombre: <g:textField name="nombre"></g:textField><br/>
            Edad: <g:textField name="edad"></g:textField><br/>
        </div>

        <div class="box-footer">
            <button type="submit" class="btn btn-default pull-right">
                <i class="fa fa-save fa-2x"></i> </br>
                Enviar
            </button>
        </div>
    </g:form>
</div>

button submit with name

Un <button type="submit"> puede funcionar igual que un actionSubmit utilizando la convensión name_ACTIONNAME:

<div class="box box-primary">
    <g:form>
        <div class="box-body">
            Nombre: <g:textField name="nombre"></g:textField><br/>
            Edad: <g:textField name="edad"></g:textField><br/>
        </div>

        <div class="box-footer">
            <button type="submit" name="_action_index2Submit" class="btn btn-default pull-right">
                <i class="fa fa-save fa-2x"></i> </br>
                Enviar
            </button>
        </div>
    </g:form>
</div>