Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Nakon zvanja AJAX-a insert ne radi (jquery i php)

[es] :: Javascript i AJAX :: Nakon zvanja AJAX-a insert ne radi (jquery i php)

[ Pregleda: 1122 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Skuffman
Hrvatska

Član broj: 38315
Poruke: 27
*.mobile.carnet.hr.



+1 Profil

icon Nakon zvanja AJAX-a insert ne radi (jquery i php)08.07.2011. u 11:33 - pre 155 meseci
Imam problem koji nikako da riješim

Naime imam neki link na koji kad kliknem ucita mi tablicu sa podacima, a na dnu tablice imam input field za dodati nesto u tablicu. I tu se javlja problem, jer ako ne koristim ajax nego samo imam tablicu onda insert radi, ali nakon ajax-a on ne radi.. u nastavku je kompletan kôd.

Unaprijed zahvaljujem na pomoći

index.php
Code:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $("#insert").live("click",function() {
            var boxval = $("#content").val();
        var dataString = 'content='+ boxval;
            if(boxval==''){
                alert("Please Enter Some Text");
            }
        else{
            $.ajax({
            type: "POST",
            url: "demo.php",
            data: dataString,
            cache: false,
            success: function(html){
                $("table#update tbody").prepend(html);
            $("table#update tbody tr").slideDown("slow");
            document.getElementById('content').value='';
            }
        });
        }
    return false;
    });
        
    $(".load").live("click",function() {
        $.ajax({
            type: "POST",
            url: "test.php",
            success: function(msg){
                $("#container").ajaxComplete(function(event, request, settings){
                $("#container").html(msg);
             });
     }
    });
    });
});
</script>
</head>
<body>
    <a href="#" class="load">load</a>
    <div id="container">
    </div>
</body>
</html>


demo.php (vrši insert u bazu i vraća podatke)

Code:

 <?php
    $sql_check = mysql_query("SELECT * FROM xerox_evidencija order by id desc");
    
    if(isset($_POST['content'])){
    
    $content=$_POST['content'];
    mysql_query("insert into xerox_app_evidencija(kopirka_id) values ('$content')");
    $sql_in= mysql_query("SELECT * FROM xerox_app_evidencija order by id desc");
    $r=mysql_fetch_array($sql_in);

    $msg=$r['kopirka_id'];
    $msg_id=$r['id'];
?>
    <tr class="prva">
        <td class="<?php echo $msg_id; ?>"><?php echo $msg; ?></td>
    </tr>
<?php
    }
?>


test.php (to se zove klikom na link, da se učita cijela tablica)

Code:

<table id="update" class="timeline" width="300" border="1">
<thead>
    <tr>
        <th>Naziv</th>
        <th>Akcija</th>
    </tr>
</thead>
<tbody>
    <?php
    $sql = "SELECT * FROM xerox_app_evidencija order by id desc";
    $result = mysql_query($sql);
    while($row = mysql_fetch_array($result))
    {
    //print data
    ?>
    <tr>
        <td><?php echo $row['kopirka_id']; ?></td>
    </tr>
    <?php
    }
    ?>
</tbody>
</table>
<form  method="post" name="form" action="">
    <input type="text" name="content" id="content" maxlength="145" ></input>
    <input type="submit"  value="Update" name="submit" id="insert"></input>
</form>


zanimljivo je da nakon učitavanja tablice radi provjera da li je prazan input

Svaka ideja zašto ne radi je dobrodošla ;)
 
Odgovor na temu

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: Nakon zvanja AJAX-a insert ne radi (jquery i php)08.07.2011. u 13:56 - pre 155 meseci
Ne znam baš nešto jQuery, ali mislim da je problem u ovom kodu:
Code (javascript):

$("#container").ajaxComplete(function(event, request, settings){
   $("#container").html(msg);
});
 

Koji se izvršava prilikom svakog, odnosno bilo kog, ajax poziva. Tako da prilikom drugog ajax poziva, klikom na dugme #insert, podaci se upišu u tabelu, ali ponovo se pozove gornji kod i prepiše ponovo sve unutar #container onim što je prvi put upisala.
Pokušaj da umesto gornjeg koda staviš samo:
Code (javascript):

$("#container").html(msg);
 

ili probaj da ispitaš na koji ulr se radi zahtev, nešto kao:
Code (javascript):

$("#container").ajaxComplete(function(event, request, settings){
  if(settings.url=='test.php') {
     $("#container").html(msg);
  }
});
 

Možda u nečemu i grešim, ispraviće me neko.

Banned - Not available
 
Odgovor na temu

Skuffman
Hrvatska

Član broj: 38315
Poruke: 27
*.mobile.carnet.hr.



+1 Profil

icon Re: Nakon zvanja AJAX-a insert ne radi (jquery i php)08.07.2011. u 15:23 - pre 155 meseci
svaka čast, radi :)))

Imaš pravo bilo je do ovoga:

Code:

$("#container").ajaxComplete(function(event, request, settings){
   $("#container").html(msg);
});


napravio sam kako si rekao i zamjenio samo sa :

Code:

 $("#container").html(msg);


Ajme spasio si me, još jednom hvala puno :D
 
Odgovor na temu

[es] :: Javascript i AJAX :: Nakon zvanja AJAX-a insert ne radi (jquery i php)

[ Pregleda: 1122 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.