Ir para conteúdo

Arquivado

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

jadsonlucena

DHTML, informar ao javascript qual form estará sendo submetido

Recommended Posts

Estou tentando fazer um ajax que irá enviar vários forms de uma página.

 

Mas terei que identificar de qual form estará sendo executado o submit.

 

Para isso estou tentando fazer um DHTML no action de cada form.

 

Mas estou tendo problemas em regatar o formulário que será enviado.

 

 

Exemplo da tentativa de minha ideia:

<html>
<head>

<script type="text/javascript">
function logar(this) {
	alert(this);
}
</script>

</head>
<body>

<form name="login" method="post" action="javascript:logar(this)">
Login: <input type="text" name="email" class="ipt">
Senha: <input type="password" name="password" class="ipt">
<input type="submit" name="logar" Value="Logar">
</form>

</body>
</html>

Gostaria de saber se existe algum método que pode fazer esta ideia funcionar?!

 

Grato desde já pela ajuda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Buenas tchê.

 

Primeiro, larga disso de DHTML, isso é coisa dos anos 90. hehehhehe

Você pode usar jQuery? Se sim, aqui tem um exemplo de como você pode fazer isso (http://codepen.io/marlonlp/pen/cofqJ).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marlon Pacheco, realmente. Mas existe um detalhe crucial. Antes de submeter o form eu me utilizo de uma class javascript que usa o onclick no submit para validar o form. E como o javascript não permite a duplicidade de eventos num mesmo elemento. Minhas alternativas se resume ao DHTM.

 

 

Eu poderia até fazer com que a class que validara o form chamasse a class ajax para enviar as informações. Mas eu teria um impasse, pois, o formulário não seria atualizado, ou seja, os campos não ficariam limpos. para isto, até pensei em utilizar o ".reset();" mas percebi que se o usuário quisesse refazer o login por exemplo o email dele não ficaria salvo no auto complete do browser. causando de certa foma um desconforto. Pensei em até utilizar o cookie para resolver isto, mas o código ficaria muito extenso sem necessidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que entendi.

Tem como você passar o HTML dos formulários? Só para eu entender a necessidade de fazer o post de 2 forms diferentes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marlon Pacheco, é essencialmente, um search, um login e um postar.

<form id="search" name="search" method="post" action="javascript:searsh()">
	<input type="text" name="q" placeholder="Pesquisar...">
	<input type="image" src="../img/busca.png">
</form>
<form id="login" name="login" method="post" action="javascript:logar();">
	<label>Login: <input type="text" name="email"></label>
	<label>Senha: <input type="password" name="password"> <input type="submit" name="logar" Value="Logar"></label>
	
	<label><input type="checkbox" name="lembrar" rel="not">Lembrar-me / <span id="recuperar">Recuperar conta.</span></label>
</form>
<form id="poster" name="poster" method="post" enctype="multipart/form-data" action="javascript:postar()">
	<label>
		Titulo:
		<input type="text" name="title" maxlength="70">
	</label>
	<label>
		Palavras-chave:
		<input type="text" name="key[]"><input type="text" name="key[]"><input type="text" name="key[]"><input type="text" name="key[]"><input type="text" name="key[]"><input type="text" name="key[]">
	</label>
	<textarea name="post"></textarea>
	<input type="submit" name="postar" Value="Postar">
</form>

Estes três estão utilizando uma class para valida-los que impede um novo evento no butão submit.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum.. javascript permite sim inúmeros eventos em um mesmo elemento.

 

Mas vc tem q fazer da forma correta, q é com .addEventListener e não usar .onclick = ..

Além disso, quando estiver trabalhando com formulários, use sempre o evento de submit do form, e nunca o click do botão enviar.

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.