Ir para conteúdo

Arquivado

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

Simone RSS

validação jquery pode funcionar em pagina chamada com ajax?

Recommended Posts

Como fazer funcionar a validação de um formulário (jquery), sendo que ele é chamado a outra pagina com ajax?

FORMULARIO:

<form id="form_sms" name="form_sms" method="post" action="sms_enviar.php" />
		<p>Envio de SMS</p>

        <?php
        foreach( $a as $id_contato ){
		$sqlCont = "SELECT * FROM contato WHERE idContato = $id_contato ";
		mysql_set_charset('utf8');
		$dataCont = mysql_fetch_assoc(mysql_query($sqlCont));
		echo '<label>'.$dataCont['nmContato'].'</label> 
	  	<input type="text" name="txtcont" id="txtcont'.$dataCont['idContato'].'" value='.$dataCont['celContato'].' readonly><br>';
		}
		?>
        
		<textarea name="txtmsg" id="txtmsg" placeholder="Mensagem"></textarea>

        <input class="btn" type="submit" name="btnenviar" id="btnenviar" value="ENVIAR"/>
        <input class="btn" type="reset"  name="btnlimpar" id="btnlimpar" value="LIMPAR"/>

        </form>

VALIDAÇÃO:


<script src="JqueryValidate/jquery-1.5.2.min.js" type="text/javascript"></script>
<script src="JqueryValidate/jquery.validate.js" type="text/javascript"></script>

<SCRIPT>
$(document).ready(function(){
		$("#form_sms").validate({
				rules:{	txtmsg:"required", },
				messages:{ txtmsg:"Escreva o texto.",},
			
    						});					  
  					});
</SCRIPT>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

O formulario está sendo chamado para outra página com ajax. O código segue abaixo:

                $.ajax({		
                        url:'recebecontatos.php',
			type:'POST',
			data:'valor=' + val,
			success: function(data){	
			$('#exibe').html(data);
			}
		       });

 

Tentei colocar a validação na pagina do formulario, depois tentei colocar na pagina que faz a requisição e em nenhuma das duas vezes funcionou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

William Bruno, tentei trocar o método html() pelo load() e adicionar o script de validação.

$.ajax({
			url:'recebecontatos.php',
			type:'POST',
			data:'valor=' + val,
			success: function(data){	
			//$('.exibe').slideDown();
			$('#exibe').load(data);
			$("#form_sms").validate({
				rules:{	txtmsg:"required", },
				messages:{ txtmsg:"Escreva o texto.",}
    						});
			}
			
			});

 

Não funcionou. Se não for muito incomodo, poderia me explicar melhor o exemplo do seu site?

Compartilhar este post


Link para o post
Compartilhar em outros sites

esquece o .load(), ele faz a mesma coisa q o $.ajax.

 

ou vc usa um, ou usa outro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

$.ajax({		
    url:'recebecontatos.php',
    type:'POST',
    data:'valor=' + val,
    success: function(data){	
        $('#exibe').html(data);

        $("#form_sms").validate({
            rules: { txtmsg:"required" },
            messages: { txtmsg:"Escreva o texto." },
            submitHandler: function(form){
                alert('Formulario enviado!');
            }
        });

    }
});

lembrando de colocar a tag script do validate na página q faz o ajax(importando o jQuery uma única vez), e não trazer nenhuma tag script na página q vai ser carregada.

 

Caso não funcione, confira o console de erros, apertando Ctrt + Shift + J no Firefox

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.