El envío de formularios no funciona en Chrome, es decir

Hay muchas formas con una identificación única

<form id='fu_edit_1' method='post' action=''>
....
</form>

<form id='fu_edit_2' method='post' action=''>
....
</form>

Usa este código js

    var formName = 'fu_edit_'+id;
document.forms[formName].submit();

así que aquí está el código que funciona bien en la última versión, pero en Chrome y se negó a funcionar. Sin embargo, si especifica la identificación del formulario directamente, funciona, por ejemplo:

document.forms["fu_edit_2"].submit();

¿Qué está mal?


En la consola, Chrome escribe: TypeError no capturado: el objeto # no tiene método 'enviar'

preguntado el 12 de junio de 12 a las 19:06

Sólo para estar seguro: ¿estás seguro de que id tiene un valor en el punto en que se construye el formName ¿variable? -

donde esta el id ¿De dónde viene la variable? ¿Cómo se puebla? ¿Ha depurado este código para comprobar si formName ¿Se está poblando correctamente? Parece que estás concatenando la cadena de prefijo de formulario con NaN o algo más que los números de sus formularios -

Revisé que la identificación existe. Y en el ff seleccione la forma deseada. -

¿Puedes pegar cómo estás pasando la identificación? -

Hablo mal inglés, no entiendo muy bien lo que quieres decir. Mira mi pregunta, la actualicé. -

2 Respuestas

creo que tu problema es con la variable id Te recomendaría esto:

  alert(id.toString());

Tal vez haya un problema con la conversión de su número a cadena, tal vez la alerta lo sorprenda con algo como 01 o similar

Respondido el 12 de junio de 12 a las 19:06

No, todo es como debe ser, no 01 y otros - tranceman

una pregunta, ¿por qué usas comillas dobles en el texto explícito pero comillas simples en la cadena?, lo siento, puede sonar raro, pero he visto tantas cosas raras últimamente... - KoU_warch

Sucedió durante los experimentos - tranceman

Me encontré con este problema varias veces y finalmente descubrí que si tiene un elemento de formulario en el formulario fu_edit_2 con un atributo de nombre de envío, entonces document.forms["fu_edit_2"].submit sería una referencia al elemento y no un método para enviar el formulario. He encontrado que es mejor evitar tener campos de formulario con el nombre de enviar para evitar este problema.

Respondido el 12 de junio de 12 a las 20:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.