Ajax ile formunu doldurmak ve jquery eklentisi dolduramıyor

2 Cevap php

JQuery en populate eklentisi ile bir form doldurmak çalışıyorum, ama $ kullanıyorum. Ajax

, Json bunu yeniden formüle benim sayfaya dönün ve populate eklentisi ile formunu doldurun: Fikir linkleri (? Get_result_edit.php id = 34 link ex) olarak id göre benim veritabanından veri almak için . Ama nedense ben o iş için alınamıyor. Herhangi bir fikir:

Burada kod:

 $('a').click(function(){
     $('#updatediv').hide('slow');
     $.ajax({
	  type: "GET",
	  url: "get_result_edit.php",
	  success: function(data)
			   {
                                   var $response=$(data);
                                   $('#form1').populate($response); 										
                               }
            });
     $('#updatediv').fadeIn('slow');
     return false;

aşağıdaki gibi php dosyası devletler ederken:

<?php
$conn = new mysqli('localhost', 'XXXX', 'XXXXX', 'XXXXX');
@$query = 'Select * FROM news WHERE id ="'.$_GET['id'].'"';

$stmt = $conn->query($query) or die ($mysql->error());
if ($stmt) 
  { 

     $results = $stmt->fetch_object(); // get database data
    $json = json_encode($results); // convert to JSON format
      echo $json;

      }


?>

Şimdi ilk şey mysql bu şekilde bir null döndürür olduğunu: $ _GET bölümünde sql deyimi o beyanı ile yanlış bir şey var mı? İkinci i getirmek için belirli bir kayıt koymak bile doldurmuyor dolduran alt olmasıdır.

Update:

I changed the populate library with the one called "PHP jQuery helper functions" and the difference is that finally it says something. finally i get an error saying NO SUCH ELEMENT AS i wen into the library to have a look and up comes the following function

function populateFormElement(form, name, value)
{
    // check that the named element exists in the form
    var name = name; // handle non-php naming
    var element = form[name];
    if(element == undefined)
    {
        debug('No such element as ' + name);
        return false;
    }

    // debug options    			
    if(options.debug)
    {
        _populate.elements.push(element);
    }
}

Şimdi bir de adını yazdırmak gerektiğini görebilirsiniz bakarak, ama onun bunu basılmıyor. bu yüzden adı json oluşturan alınırken düzgün çalışmadığını tahmin ediyorum.

Link is at http://www.ocdmonline.org/michael/edit%5Fnews.php with username: Testing and pass:test123 Any ideas?

2 Cevap

. Öncelikle json için ajax çağrısı için dataType seçeneği ayarlamanız gerekir:

. $ Ajax ({dataType: 'json', ...

sadece (senin kodunda bir jQuery nesnesine dönüştürerek neden bilmiyorum), onunla bir şey yapmak gerek onu kullanmak kadar ve daha sonra başarı işlevi "veri" parametresi zaten bir nesne olacak.

edit:

$( 'a' ).click ( function () {
 $( '#updatediv' ).hide ( 'slow' );

 $.ajax ( {
  type: "GET",
  url: "get_result_edit.php",
  success: function ( data ) {
   $( '#form1' ).populate ( data );
  },
  dataType: 'json'
 } );

 $( '#updatediv' ).fadeIn ( 'slow' );
 return false;
}

Ayrıca $ kullanmayı düşünün. $ yerine. içinde getJSON ajax böylece dataType ile uğraşmak zorunda değilsiniz

ImPagePopulate (başka bir jquery eklentisi) deneyin. Bu kullanımı kolay olabilir:

http://grasshopperpebbles.com/ajax/jquery-plugin-impagepopulate/