2010-09-29 10 views
6

tengo este código, vamos a decir que es a.htmlForma "no está definido" error en Firefox

<form name="frmSubmit" id="frmSubmit" method="post"> 
<input type="hidden" name="hdnName" value="user name" /> 
</form> 

<script> 
// 1 : start 
document.frmSubmit.action = 'b.html'; 
document.frmSubmit.submit(); 
// 1 : end 

// 2 : start 
document.getElementById("frmSubmit").action = 'b.html'; 
document.getElementById("frmSubmit").submit(); 
// 2 : end 
</script> 

Tanto y están trabajando en IE (IE 8), pero no en FF (3,6 .10). Firebug me da el siguiente error:

document.frmSubmit is undefined

¿Cómo puedo arreglarlo?

+0

Ambos métodos deben funcionar bien (y lo hacen, para mí). Sospecho que su error se encuentra en otro lugar y esta no es una verdadera representación del código que tiene. Consulte http://jsfiddle.net/VL8C3/, reemplacé sus métodos con salidas de consola simples para que pueda ver 'document.frmSubmit' * is * defined. –

+0

¿es

dentro de ? o es un error? Traté de agregar simple

abcd

antes de , y es el trabajo: D – tsurahman

+0

@Andy: la secuencia de comandos exactamente igual que la secuencia de comandos anterior – tsurahman

Respuesta

1
<html> 
<head> 

<script> 
function setup(){ 
// 1 : start 
document.frmSubmit.action = 'b.html'; 
document.frmSubmit.submit(); 
// 1 : end 

// 2 : start 
document.getElementById("frmSubmit").action = 'b.html'; 
document.getElementById("frmSubmit").submit(); 
// 2 : end 
} 
</script> 
</head> 
<body onload="setup()"> 
<form name="frmSubmit" id="frmSubmit" method="post"> 
<input type="hidden" name="hdnName" value="user name" /> 
</form> 
</body> 
</html> 
+0

@tsurahman su comentario no está claro. –

+0

abcd

.... es obras, o
... funciona, parece que tengo que agregar otra etiqueta antes de para que funcione – tsurahman

0

lo general, cuando voy a codificar esos workarrounds, para evitar un error de detener la ejecución, que rodean los bloques en conflicto con tratar & Cathc. Recomendaría circundar y con try/catch bloks, por lo que hay un error allí, no detiene la ejecución del script.

0

tenía este mismo problema, y ​​lograron conseguir que funcione de la siguiente manera:

  • Tener un ImageButton o cualquier otro tipo de objeto de devolución de datos en el formulario que muestra lo que quiere ("compre ahora ! ")
  • Tenga un evento en código detrás para cuando se hizo clic en este.
  • Al hacer clic en el evento, realice una respuesta.redireccionar a una página nueva que creará (postpaypal.aspx).
  • Crear nuevo archivo (postpaypal.aspx), que no utiliza una página principal, tiene su propia forma y el código y las acciones paypal estándar.

Esto funcionó muy bien para mí, y fue simple y efectivo.

0

Por favor, compruebe si ha dado, input type = "submit" name = "submit" value = "Ir"

En lugar de ello, el nombre debería ser así input type = "submit" name = "sub" value = "Continuar"

NB: nombre debe ser distinto de "enviar"