[javascript] Problemas ao submeter form

Pessoal, em um monte de paginas aqui eu uso validacao em JS para barrar que campos sejam submetidos em branco. Ate ai tudo bem, mas tem uma pagina, so uma, onde isso nao funciona. Tentei de tudo. O codigo esta igual a as outras mas nao funciona de jeito nenhum.
Cheguei ate a apelar:

<form name='meu_form' action='URL do servlet' method='post' onsubmit="return false;">

Testei isso em outras paginas e nao submete nem por reza, mas nessa pagina problematica isso submete. Pelo que eu entendo de java script nao era pra isso funcionar de jeito nenhum.

Alguem sabe o que pode estar causando isso?

Kra, qnd acontecia umas loucuras em js comigo, era pq tinha uma outra parte do código js q tinha algo errado.

Pode não ter nada a ver, mas você não especificou qual linguagem de script está usando.

O IE com certeza (os outros eu não sei) tomam como padrão a linguagem usada no primeiro script que ele encontra. Isto é, se o primeiro script da página é um VBScript, essa é a linguagem padrão da página, a menos que ele encontre a designação de JavaScript, por exemplo.

Já tentou colocar isto:

<form name='meu_form' action='URL do servlet' method='post' onsubmit="javascript:return false;">

Ou então usar um depurador de scripts mesmo.

Só um detahe, fazendo desta maneira, o formulário nunca será submetido.

Não seria melhor criar uma função que retorne false, caso algum dos campos esteja em branco?

Nunca será dependendo de como você faça o submit!! :wink:

Se ele for feito através de um campo submit ou image do formulário, realmente nunca irá! Mas se for através de um document.nome_do_form.submit(), será enviado, já que quando se é dado o submit através de script, o evento onSubmit não é disparado.

[quote=“fenrir”]Nunca será dependendo de como você faça o submit!! :wink:

Se ele for feito através de um campo submit ou image do formulário, realmente nunca irá! Mas se for através de um document.nome_do_form.submit(), será enviado, já que quando se é dado o submit através de script, o evento onSubmit não é disparado.[/quote]

:?:

Mas de que maneira tu irás submeter o formulário? Realizei alguns testes e o onSubmit foi disparado normalmente, como se tivesse sido por um submit ou image.

Gostaria de saber como isto ocorre para ti, fenrir :wink:

Falou.

Exemplos práticos! :smiley:

arq1.html

<html> <body> <form name="main" action="arq2.html" onsubmit="javascript:alert('Sem chance! :)');return false;"> <input type="submit" value="não sairá daqui!"><br> <a href="javascript:document.main.submit();">vai para a outra página!</a> </form> </body> </html>
arq2.html

<html> <body> TCHARAM!!!! :) </body> </html>

Ao clicar no botão, não vai sair do lugar…ao clicar no link, ele fará o submit do form, e o evento onSubmit não será disparado!

Observação: testado no IE 6.00.280.blábláblá e no Firebird 0.7.

Eu tinha colocado o return false exatamente para não submeter. É que tava dando problema com a função de validação, aí eu fiz esse teste. Mesmo com return false ele tava submetendo.
Depois de ver outras coisas descobrir o que era meu erro.
Eu estava fazendo uma loucura assim:

<input type="submit" value="ok" onclick="meu_form.submit();">

[quote=“fenrir”]Exemplos práticos! :smiley:

arq1.html

<html> <body> <form name="main" action="arq2.html" onsubmit="javascript:alert('Sem chance! :)');return false;"> <input type="submit" value="não sairá daqui!"><br> <a href="javascript:document.main.submit();">vai para a outra página!</a> </form> </body> </html>
arq2.html

<html> <body> TCHARAM!!!! :) </body> </html>

Ao clicar no botão, não vai sair do lugar…ao clicar no link, ele fará o submit do form, e o evento onSubmit não será disparado!

Observação: testado no IE 6.00.280.blábláblá e no Firebird 0.7.[/quote]

Ae, legal, vou verificar o que estou fazendo de errado nos meus script’s.

:smiley: Falou fenrir