JavaScript - Enviar form en evento onChange o Submit?????

 
Vista:

Enviar form en evento onChange o Submit?????

Publicado por Mario (1 intervención) el 22/04/2005 10:17:29
Buenas tardes,

tengo una pequeña duda.

Tengo un formulario que necesito que se envie, dependiendo de lo que ocurra, a 2 paginas distintas.
Si se produce el evento onChange de un input tipo texto a una pagina actualizar.asp y si se produce el click en el boton del formulario a otra pagina chekout.asp.
Para ello tengo una funcion:
[CODE]
function recalcula(x){
if (x == "1") {
var accion = "checkout.asp";
window.document.form1.action = accion;
document.form1.submit(); }
else {
var accion = "actualizar.asp";
window.document.form1.action = accion;
document.form1.submit(); }
}
[/CODE]

a la que llamo de esta forma cuando pierde el foco el input text:

[CODE]
<input name="quant" value="3" onChange="recalcula('2')">
[/CODE]

o de esta otra on el boton del formulario:

[CODE]
<input type="image" value="CheckOut" src="pedir.gif" onClick="recalcula('1')">
[/CODE]

Pues bien, mi problema es que me da error en document.form1.submit(); a pesar de que el formulario se llama form1. Me dice que el objeto no acepta esta propiedad o metodo.

Alguien me puede decir como hacerlo o si se puede?
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:Enviar form en evento onChange o Submit?????

Publicado por Santiago Martin (34 intervenciones) el 22/04/2005 10:29:57
A mi me funciona perfectamente.

Has probado a cerrar la etiqueta <script>?

Esto es lo que yo he hecho y funciona.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
function recalcula(x){
if (x == "1") {
var accion = "http://www.lawebdelprogramador.com";
window.document.form1.action = accion;
document.form1.submit(); }
else {
var accion = "http://www.desarrolloweb.com";
window.document.form1.action = accion;
document.form1.submit(); }
}
</script>
</head>

<body>
<form name="form1" method="post" action="">
<input name="quant" value="3" onChange="recalcula('2')">
<input type="image" value="CheckOut" src="bolita.gif" onClick="recalcula('1')">
</form>
</body>
</html>

PD: He copiado tu código,he sustituido las paginas y funciona, por lo que deduzco que el fallo tiene q estar en otro sitio.

Salu2
Santi M.
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

RE:Enviar form en evento onChange o Submit?????

Publicado por -Ðíègø§ø£ø- (1 intervención) el 11/09/2005 23:23:07
Tuve este mismo problema y encontré el error. Mi formulario era mas o menos así:

<form method="post" action="handler.php" name="form1">
<input type="text" name="nombre">
<input type="submit" name="submit" value="Enviar">
</form>

El problema al llamar al método del formulario submit() se da porque existe un elemento de éste (el botón submit) que lleva el mismo nombre. Por esto, es recomendable usar nombres para los elementos de los formularios que no coincidan con los nombres de sus métodos (submit, focus, etc.).

Espero les sirva... saludos

-Ðíègø§ø£ø-
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

RE:Enviar form en evento onChange o Submit?????

Publicado por sdfs (2 intervenciones) el 24/04/2008 17:27:53
dfgdgdgdgdg
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