[AJAX] refreshen bij invoeren serienummer

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bouke Seel

Bouke Seel

27/04/2011 15:45:10
Quote Anchor link
Ik heb nu een script gemaakt maar hij werkt niet (zie door de bomen het bos niet meer).
De gegevens uit de database moeten dus elke keer als er een serienummer ingevuld word updaten.

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
    <html>
    <
head>
    <
script src="selectproduct.js">
    var
xmlHttp = GetXmlHttpObject();
    //functie die het naar de php pagina verstuurd
    function showProduct(str){
    if(xmlHttp==null){
    alert ("Browser ondersteunt niet het XMLHTTP object.")
    return
    }
    //Open PHP script for requests
    xmlHttp.open('get', 'getproduct.php?artikelnummer='+str);
    xmlHttp.onreadystatechange = stateChanged;
    xmlHttp.send(null);
    
    //weergeven van productinformatie in de div
    function stateChanged()
    {
    var
response = xmlHttp.responseText;
    if (response){
    var
ajaxDisplay = document.getElementById("txtHint");
    ajaxDisplay.innerHTML = "";
    ajaxDisplay.innerHTML = response;
    }
    }
    }

    //aanmaken xmlhttpobject
    function GetXmlHttpObject(){
    var
objXMLHttp=null
    if (window.XMLHttpRequest){
    objXMLHttp=new XMLHttpRequest()
    }

    else if (window.ActiveXObject){
    objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
    }

    return objXMLHttp
    }
    </script>

    </head>
    <body>
<?php Include "getproduct.php"?>
 
            <form id="snel_bestellen" name="snel_bestellen" method="POST" action="">    
                <table class="snel_bestellen" width="100%">
                    <thead>
                        <tr class="info_header">
                            <th class="artikelnummer" width="156px">Artikelnummer</th>
                            <th class="aantal" width="64px;">Aantal</th>
                            <th class="naam">Productnaam</th>
                            <th class="stuk">Prijs per stuk</th>
                            <th class="totaal">Totaal prijs</th>
                        </tr>
                    </thead>                
                    <tbody>                    
                    <tr id="txtHint">
                        <td><input type="text" onChange="showProduct(this.value)" class="Artikelnummer" name="Artikelnummer[]"></td>
                        <td><input type="text" class="aantal" name="aantal[]"></td>
                        <td class="productnaam"></td>
                        <td class="prijs"></td>
                        <td class="totaal">  0,00</td>
                    </tr>
                    <tr id="txtHint">
                        <td><input type="text" onChange="showProduct(this.value)" class="Artikelnummer" name="Artikelnummer[]"></td>
                        <td><input type="text" class="aantal" name="aantal[]"></td>
                        <td class="productnaam"></td>
                        <td class="prijs"></td>
                        <td class="totaal">  0,00</td>
                    </tr>                                                                                                                                    
                    </tbody>                        
                </table>
                <input type="submit" class="winkelwagentje" name="winkelwagentje" value="">                                                                                                
            </form>



    </body>
    </html>
?>



getproduct.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
38
39
40
41
42
43
44
45
46
<?php

[code]<?php


if (empty($_POST['Artikelnummer'])) {
  
}

else {    foreach($_POST['Artikelnummer'] as $Artikelnummer)

{

include 'JALELALEA.php';
$sql=("SELECT Artikelnummer, Naam, Prijs FROM producten WHERE Artikelnummer =    '".mysql_real_escape_string($Artikelnummer)."'");
$result = mysql_query($sql)or die(mysql_error());
$rows = mysql_num_rows($result);



If($rows == 0) {
echo "<td class='productnaam'>";
echo "Nummer niet gevonden";
echo "</td>";

echo "<td class='prijs'>";
echo "";
echo "</td>";
}

else
{
$fetch = mysql_fetch_assoc($result);
echo "<td class='productnaam'>";
echo $fetch['Naam'];
echo "</td>";

echo "<td class='Prijs'>";
echo "&euro; ";
echo $fetch['Prijs'];
echo "</td>";
}
}  
}



?>


?>
Gewijzigd op 27/04/2011 15:49:58 door Bouke Seel
 
PHP hulp

PHP hulp

18/04/2024 18:57:03
 
Vincent Huisman

Vincent Huisman

27/04/2011 15:53:32
Quote Anchor link
misschien een idee om het jquery te gaan werken? ik vind dat veel makkelijker werken voor ajax
 
Bouke Seel

Bouke Seel

27/04/2011 15:58:37
Quote Anchor link
Vincent Huisman op 27/04/2011 15:53:32:
misschien een idee om het jquery te gaan werken? ik vind dat veel makkelijker werken voor ajax


Ik heb daar een tijdje naar lopen zoeken, maar ik heb niks kunnen vinden wat geschikt was.
 
Bouke Seel

Bouke Seel

29/04/2011 11:15:19
Quote Anchor link
Niemand?
 
Daniel O

Daniel O

29/04/2011 15:29:57
Quote Anchor link
Niks kunnen vinden? jQuery is hartstikke loaded met Ajax spul. Of kon je jQuery niet vinden ... ? Overigens is de juiste naam voor het onChange event onchange (lowercase). Alleen IE begrijpt onChange. Daarnaast heb je meerdere elementen met dezelfde id. Dat gaat dus ook verkeerd.

Toevoeging op 29/04/2011 15:58:11:

Nog iets: op het moment dat je het src element van een script tag definieert, wordt de js binnen de tag niet meer verwerkt. Je zou dus het volgende moeten doen:
<script src="blabla.js"></script>
<script>
var dit = "javascript";
</script>
 



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.