Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

diegoholiveira

Enviar formulario sem o botão submit

Recommended Posts

Galera, estou fazendo um formulario e preciso enviar os dados sem o botão submit, porque antes de enviar irei validar os dados, e portando não posso deixar o evento default do botão submit. Eis o meu codigo:

 

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Teste</teste>
	<script type="text/javascript">
		window.onload = function () {
			document.getElementById('submit').onclick = function() {
				document.getElementById('MyForm').submit();
			}
		}
	</script>
</head>
<body>
	<form id="MyForm" method="get" action="index.html">
		<input type="hidden" name="enviado" value="sim" />
		<input type="button" id="submit" value="Enviar" />
	</form>
</body>

Eu fiz esse codigo de acordo essa referencia: http://www.w3schools.com/htmldom/met_form_submit.asp

 

Porem o que acontece, ao clicar no botão para enviar o firebug me retorna que o metodo submit não existe (submit is not a function).

Alguem sabe o que eu estou fazendo de errado?

 

Obrigado!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente aconselho a usar jquery, para diminuir o tamanho do seu código. Outra coisa você pode fazer a validação tranquilamente com botão submit:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>

<script>
function valida() {
	var campo = document.getElementById('enviado');	
	if(campo.value!="") {
		alert("O campo foi preenchido e poderá ser enviado");
		return true;
	} else {
		alert("Preencha o campo antes de enviar");
		campo.focus();
		return false;
	}
}
</script>

</head>

<body>

<form id="MyForm" method="get" action="index.html" onsubmit="return valida();">
<input type="text" name="enviado" />
<input type="submit" id="submit" value="Enviar" />
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.