Ajax in ajax werkt niet?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Koen B

Koen B

14/12/2006 16:36:00
Quote Anchor link
Hey,

ik ben bezig om met ajax iets te maken maar het wil niet helemaal lukken ...
Als je op deze pagina: http://www.theschoolcriminals.com/ajax/ optie 1 gebruikt word pagina pagina1.php geinclude.
Dit werkt goed, maar als ik dan probeer om iets in te stellen op pagina1.php en die submit werkt het niet!
Als je gewoon naar pagina1.php gaat: http://www.theschoolcriminals.com/ajax/pagina1.php werkt het weer wel!

Mijn vraag is dus hoe ik ajax in ajax kan gebruiken? Mijn bestanden:

index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<script src="prototype.js" type="text/javascript"></script>

<form id="commentsForm">
<input type="radio" name="pagina" value="1"> 1
<br>
<input type="radio" name="pagina" value="2"> 2
<br>
<input name="pagina" type="button" value="Send" onClick="send();"><br>
</form>

<div id="updateDiv">
</div>

<script type="text/javascript">
function send(){
var params = Form.serialize($('commentsForm'));
new Ajax.Updater('updateDiv', 'submit.php', {asynchronous:true, parameters:params});
}
</script>

submit.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

if($_POST['pagina'] == '1'){
    include('pagina1.php');

}
elseif($_POST['pagina'] == '2'){
    include('pagina2.php');
}
else {
    echo "fout ...";
}

?>

pagina1.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
echo '<script src="prototype.js" type="text/javascript"></script>';

if(isset($_POST['iets'])) {
  
    if ($_POST['iets'] == '1'){
        echo "1";
    }
elseif ($_POST['iets'] == '2'){
        echo "2";
    }
else {
        echo "Je moet wel iets invullen ...";
    }
  
}
else {
    

?>

    <div id="ding">
    <form id="bla">
    <input type="radio" name="iets" value="1"> 1
    <br>
    <input type="radio" name="iets" value="2"> 2
    <br>
    <input name="submit" type="button" value="Send" onClick="send1();"><br>
    </form>
    </div>

    <script type="text/javascript">
    function send1(){
        var params = Form.serialize($('bla'));
        new Ajax.Updater('ding', 'pagina1.php', {asynchronous:true, parameters:params});
    }
    </script>
<?php
}

?>


Owjah, als javascript gebruik ik dit: http://julian.empiregn.com/2005-11/Easily_upgrade_your_forms_to_AJAX/
Gewijzigd op 01/01/1970 01:00:00 door Koen B
 
PHP hulp

PHP hulp

09/05/2024 00:50:04
 
Koos-Bert

Koos-Bert

14/12/2006 16:39:00
Quote Anchor link
Ik ken het probleem. Ik weet alleen niet de oplossing.

Zelf werk ik ook met Ruby on Rails, dat ook weer werkt met Prototype en scriptacoulus.

Daar had ik ook is in zitten fucken en toen deed ie het volgens mij wel. Helaas kan ik je nu ff niet helpen, misschien als ik thuis ben.
 
PHP Newbie

PHP Newbie

14/12/2006 16:48:00
Quote Anchor link
op pagina1.php roep je send1() aan i.p.v. send().
 
Koen B

Koen B

14/12/2006 16:52:00
Quote Anchor link
Klopt, daar heb ik de functie ook send1 genoemd, omdat dat een andere functie is.
Ik heb daar al aan gedacht en op de index die functie send2() genoemd maar die blijft het gewoon doen

En hij doet het op http://www.theschoolcriminals.com/ajax/pagina.php wel dus het ligt niet daar aan ....
 
Rudie dirkx

rudie dirkx

14/12/2006 16:53:00
Quote Anchor link
Misschien moet je uitleggen wat je nou eigenlijk wil...


error volgens Firebug:
Quote:
send1 is not defined
 
Koen B

Koen B

14/12/2006 16:58:00
Quote Anchor link
Wat ik wil is dat ik een form in ajax kan gebruiken waarbij het 'menu' blijft staan. En als je dan een form in de geinclude pagina invul dat hij toch vernieuwd, en het bovenste moet de hele tijd blijven staan ....

Ik krijg geen error hoor ... In IE en FF niet
op http://www.theschoolcriminals.com/ajax/pagina1.php werkt hij ook gewoon in FireFox .....
 
PHP Newbie

PHP Newbie

14/12/2006 17:03:00
Quote Anchor link
je zult de functie send() zo moeten aanpassen dat je niet steeds een nieuwe functie aan hoeft te roepen maar dat je het met een argument kunt doen.

bijvoorbeeld: send(1), send(2) enz.
 
Koen B

Koen B

14/12/2006 17:12:00
Quote Anchor link
Ik ben niet goed in javascript ....
Hoe doe ik dat precies? Er zijn 3 variablen: send(form, div, pagina);

<script type="text/javascript">
function send(form, div, pagina){

var params = Form.serialize($('form'));
new Ajax.Updater('div', 'pagina', {asynchronous:true, parameters:params});
}
</script>

Moet dat dan op deze manier?
 
Koen B

Koen B

14/12/2006 17:35:00
Quote Anchor link
Dankje php newbie :D hij werkt nu op jou manier met de functie die ik hierboven had, alleen met wat ' ' op de goede plekken ;)

:edit:
de rest ook bedankt natuurlijk ;)
Gewijzigd op 01/01/1970 01:00:00 door Koen B
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.