Ir para conteúdo

POWERED BY:

Arquivado

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

William Espindola

[Resolvido] Javascript e PHP

Recommended Posts

Ola pessoal,

 

Estou fazendo um form que envia um valor para o php que faz um consulta no banco com msyql e retorna para o java script que exibe na tela. ufa!!!

 

O codigo é este, esta acontecendo uma coisa muito estranha, provavelmente seja burrice minha:

 


     $(document).ready(function(){

   	  $("#submit").submit(function(){
           $.post("ajax.php", 
                 {fname:$("input[name=fname]").val()},
                 function(valor){
               	 $('form#submit').hide(function(){$('div.success').html(valor).fadeIn();}); 
                 }
                 )

        })
     })

 

o estranho que quando eu coloco o input no lugar da id do forme e mudo a ação para change, o nogócio funciona

   	  $("input[name=fname").change(function(){...

 

 

Onde estou errando??

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

La vai:

 


<form id="submit" method="post" name="submit" action="">
           <fieldset>
               <legend>Enter Information</legend>
               <label for="fname">Client First Name:</label>
               <br />
               <input type="text" name="fname" id="fname" class="text" size="20" />
               <br />
               <label for="lname">Client Last Name:</label>
               <br />
               <input type="text" name="lname" id="lname" class="text" size="20" />
               <br /><br />
               <button type="submit" name="sub" class="button positive"> <img src="../images/icons/tick.png" alt=""/> Add Client </button>
           </fieldset>
       </form>
       <div class="success" style="display:none;">

       </div>

 

e o php também!

 


$fname        = htmlspecialchars(trim($_POST['fname']));

$PDO = new PDO( 'mysql:host=localhost;dbname=test', 'root', '' );
      $PDO->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
      $PDO->setAttribute( PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC );
      $PDO->setAttribute( PDO::ATTR_TIMEOUT, 5 );
      $SQL = $PDO->query("SELECT value FROM tbl WHERE id = '$fname'");  	
foreach( $SQL->fetchAll(PDO::FETCH_ASSOC) as $data ){
               echo "<p>".$data['value']."</p>";
      }


Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa valeu amigão, consegui fazer aqui :clap:

 

Mas depois vou tentar o que você me disse!

 

a solução:

 


$(document).ready(function(){  
   $("form#submit").submit(function() {  
   var fname     = $('#fname').attr('value');  
       $.ajax({  
           type: "POST",  
           url: "ajax.php",  
           data: "fname="+ fname",  
           success:
           	function(valor){
               $('form#submit').hide();
               $('div.success').html(valor).fadeIn();    
           }
       });  
   return false;  
   });  
});  

Compartilhar este post


Link para o post
Compartilhar em outros sites

action é um atributo do form, que indica para 'onde o form será enviado'.

 

não é um evento.

 

o mais correto, é usar um .preventDefault(); ou o return false; como foi feito.

 

essa de colocar javascript inline no action, é uma forma equivocada e problemática. [não usem]

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.