Validar mais de um Form com uma mesma função JS
Prezados seguinte:
Tenho um loop (php) na index.php que traz diversas postagens. Neste mesmo loop, existe um form para cada umas dessas postagens:
Código do form:
<form id="formulario" action="javascript:func()" method="post">
Nome: <input name="nome" type="text" id="nome" /> <br />
Email: <input name="email" type="text" id="email" /> <br />
Mensagem:<textarea name="mensagem" type="text" id="mensagem" /></textarea> <br />
<input type="submit" value="Enviar" class="btn3" />
</form>
Nesta index.php chamo o JS que faz a validação através do:
<script type="text/javascript" src="validar-form.js'?>"></script>
Código deste validar-form.js:
$(function($) {
// Quando o formulário for enviado, essa função é chamada
$("#formulario").submit(function() {
// Colocamos os valores de cada campo em uma váriavel para facilitar a manipulação
var nome = $("#nome").val();
var email = $("#email").val();
var mensagem = $("#mensagem").val();
// Exibe mensagem de carregamento
$("#status").html("<img src='loader.gif' alt='Enviando' />");
// Requisão ajax com o arquivo envia.php e enviamos os valores de cada campo através do método POST
$.post('envia.php', {nome: nome, email: email, mensagem: mensagem }, function(resposta) {
// Quando terminada a requisição
// Exibe a div status
$("#status").slideDown();
// Se a resposta é um erro
if (resposta != false) {
// Exibe o erro na div
$("#status").html(resposta);
}
// Se resposta for false, ou seja, não ocorreu nenhum erro
else {
// Exibe mensagem de sucesso
$("#status").html("Mensagem enviada com sucesso!");
// Coloca a mensagem no div de mensagens
$("#mensagens").prepend("<strong>"+ nome +"</strong> disse: <em>" + mensagem + "</em><br />");
// Limpando todos os campos
$("#nome").val("");
$("#email").val("");
$("#mensagem").val("");
}
});
});
});
O meu problema é que, a validação funciona apenas para a 1ª postagem devido o ID possuir o mesmo nome em todos os formulários, ou seja, ID do form = (formulario), ID no JS = (#formulario).
Existe alguma forma de resolver isso para todos os form's funcionarem?
Discussão (4)
Carregando comentários...