JavaScript - Error al inhabilitar boton submit

 
Vista:

Error al inhabilitar boton submit

Publicado por Alberto (7 intervenciones) el 23/01/2006 08:41:03
Hola:

Tengo el siguiente formulario:

<html:form styleId="addCourseForm" action="/SubmitAddCourse" method="post" focus="name" onsubmit="javascript:return(validateForm(this));">

<html:text property="description" size="53" styleClass="formcampotxt"/>
<html:select property="lanpks" value="a" size="3" multiple="true" styleClass="formcampotxt">
<html:optionsCollection name="languages" value="lanPk" label="name"/>
</html:select>
<html:text property="starts" size="11" readonly="true" styleClass="formcampotxt"/>

<html:submit styleClass="txtBold" onclick="javascript:this.disabled=true;">
<bean:message key="common.acceptbutton"/>
</html:submit>
<html:cancel styleClass="txtBold">
<bean:message key="common.cancelbutton"/>
</html:cancel>

</html:form>

El problema es que quiero que cuando pulse el botón submit, se inhabilite y ésta es la única manera que funcione. En el botón submit poner que se inhabilite cuando se haga onclick y en el onsubmit hacer la llamada de validación del formulario. He intentado ponerlo todo en el onsubmit del formulario, poner el disabled dentro de la función de validar, pero al final esta funciona.

El problema es que cuando ocurre un error en la inserción de datos en la BBDD y me devuelve a un JSP que me muestra el error, al intentar ir hacia atrás con "javascript:history.back(-1);" el botón de submit sigue inhabilitado.

¿Cómo puedo volver atras y que me siga manteniendo los datos del formulario?

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error al inhabilitar boton submit

Publicado por Panino (21 intervenciones) el 23/01/2006 14:55:27
Probá a ponerle un id al botón submit (ejemplo id="pepe") y luego, en la función
validateForm, antes de la línea del return, escribí lo siguiente:
document.getElementById("pepe").disabled=0;
Con eso, antes de submitir el form el elemento quedará activo de vuelta para cuando vuelvas con history.go(-1).
Tampoco es necesario que escribas onclick="javascript:loquesea()", basta con:
onclick="loquesea()"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar