AJAX: responseText --> input

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full stack developer Node.js

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

.NET developer

Functie Jij begint als .NET ontwikkelaar in een team met 10 andere Software Engineers. De werkzaamheden zijn afwisselend, zo kan het dat jij bezig bent met volledig nieuwe features of het door ontwikkelen van bestaande sites of shops. Wij ontwikkelen web applicaties, maar ook mobiele applicaties. Daarnaast bijt jij je soms ook van in externe koppelingen met systemen zoals een ERP. Als team is er een duidelijke focus m.b.t. het waarborgen van de performance en snelheid van webshops. Ook zijn wij expert op het gebied van configuratoren. Kortom enorm veel afwisselende werkzaamheden! Ook jouw werkplek kan afwisselend zijn. Soms heb

Bekijk vacature »

Dynamics Ontwikkelaar

Dit ga je doen Ontwikkelen van Dynamics 365 voor de interne uitrol; Samen met de consultants sparren met klanten over de wensen en eisen; Ontwikkelen van Dynamics 365 voor verschillende grote klanten; Technische analyse en testen; Meedenken over het gebruik en de richting van Dynamics binnen de organisatie. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er

Bekijk vacature »

Machine Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Machine Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Machine Software Developer ben je verantwoordelijk voor: - Je ontwerpt, ontwikkelt en debugt software voor machinebesturingssystemen en complexe landbouwmachines; - Je stelt gebruikersinterfaces op (cabinedisplays); - Op termijn ga je softwareprojecten leiden voor specifieke machines; - Inclusief planning, documentatie en validatie; - Om specificaties te verifiëren

Bekijk vacature »

Senior Developer ERP Dynamics 365

Samengevat: Deze werkgever is een softwarebedrijf. Ben jij een enthousiaste developer? Heb je ervaring met ERP of Dynamic 365 bussines central? Vaste baan: ERP Applicatie Specialist ERP MBO €3.600 - €5.200 Wij houden ons als bedrijf bezig met het leveren en implementeren van het Microsoft Dynamics pakket binnen verschillende industriële sectoren. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Binnen ons open team is er een no-nonsense cultuur. Daarnaast is er veel onderling contact door de korte communicatielijnen. Het team werkt enthousiast samen om een

Bekijk vacature »

Sportieve Junior C#.NET developer gezocht!

Bedrijfsomschrijving Wil jij werken aan webapplicaties bij de marktleider binnen de branche? Voor een klant in de buurt van Oosterhout ben ik op zoek naar een Fullstack .NET developer. Dit bedrijf bestaat bijna 10 jaar en is inmiddels uitgegroeid tot marktleider in Nederland en heeft tevens kantoren in meerdere landen in Europa. Dit bedrijf bouwt webapplicaties waarbij internationaal enkele honderdduizenden deelnemers, soms tegelijk, een beroep doen op de realtime data uit deze applicaties. Dit brengt erg veel technische uitdaging met zich mee. Ze ontwikkelen nieuwe applicaties maar ook bestaande applicaties worden uitgebreid en verbeterd. Hier kan jij een onderdeel van

Bekijk vacature »

Backend Developer Integraties API HBO REST

Samengevat: Deze werkgever is een IT-consultancy. Wil jij werken als Backend Developer Integraties? Heb jij kennis van gangbare berichtformaten? Vaste baan: Backend Developer Integraties API HBO €3.100 - €4.400 Zij bieden innovatieve oplossingen die bedrijven efficiënter en wendbaarder maken, waardoor onze klanten zich net zo snel kunnen ontwikkelen als de business van hen vraagt. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot en ingewikkeld. Hou jij van diepgang

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

PHP ontwikkelaar

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

Senior Front end developer Automotive Angular

Functie Als Senior Front end developer kom je te werken in een team van 11 developers. 9 van de 11 focussen zich op back end, welke is geschreven in Java, en 2 op de front end waarbij er gebruik wordt gemaakt van Typescript en Angular. De focus in deze rol ligt op 2 aspecten; doorontwikkeling van de eigen tooling en gebruik van de tooling t.b.v. klantprojecten. Momenteel zijn ze in de afrondende fase van een project waarbij ze het gehele verkoopproces van nieuwe auto’s anders ingeregeld hebben voor een grote dealer in Nederland. Waarbij Auto’s normaliter pas verkocht werden in

Bekijk vacature »

Front-end Developer Magento 2/Wordpress

Voor het aantrekkelijk houden en steeds vernieuwen van de huidige websites en webshops en het meedenken in de marketing zijn wij per direct op zoek naar een ervaren Front-end developer met gedegen kennis van Magento 2 (webshops) en Wordpress (websites). Wat bieden wij jou Mooi salaris! Meteen op contract bij de opdrachtgever! Gezellig, Kempisch bedrijf! 35 uur per week! Auto van de zaak! Wie ben jij Van een front-end developer verwachten wij: Een afgeronde Bachelor ICT opleiding met profiel ICT & Media Design. Dat je in het bezit bent van een Magento 2 professional front-end developer certificaat; Je hebt ruime

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

SQL Database Ontwikkelaar

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je houdt je bezig met het ontwerp en de ontwikkeling van MS SQL server databases, dit doe je met T-SQL als programmeer laag. De begeleiding van projecten van A tot Z, je zult aansluiten bij meetings met

Bekijk vacature »

Front-end developer Consultancy in teamverband wer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers. Momenteel zijn ze op zoek naar een ervaren Front-end of Fullstack developer die samen met de consultants aan de slag gaat om de business requirements te vertalen naar technische oplossingen. Los van het finetunen van extenties, help je bij het configureren van bijvoorbeeld een mobiel bankieren app. Hierin ben je van A tot Z betrokken en zie je bijvoorbeeld ook toe op de uitvoering van testen. Je expertise wordt optimaal benut en je krijgt verschillende kansen om deze uit te breiden door met verschillende innovatieve technologieën aan

Bekijk vacature »

Front-end (Angular) developer - remote werken

Functie Als Front-end (Angular) developer ga je aan de slag met het uitbouwen van hun webapplicatie, als één van de front-end experts ga je samen met collega’s in een devops team werken aan een nieuw front-end voor hun calculatie oplossing. Binnen de calculatiesoftware kunnen meerdere professionals tegelijk samenwerken, 3D calculaties uitvoeren en ook inzien met de benodigde specifieke details. Deze software wordt veel ingezet om projectbeschrijvingen en kosten in kaart te brengen, en tijdens de uitvoering te bewaken. Maar hiernaast liggen er in de toekomst veel meer plannen op het gebied van front-end in de andere applicaties. Genoeg te doen

Bekijk vacature »
Henk Jacobse

Henk Jacobse

03/02/2011 07:19:33
Quote Anchor link
Ik heb de volgende code geschreven:

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
function calculate_multiply(field_return, number, price)
{
  var xmlhttp;
  var url          = "calculate.php";
  url              = url+"?aantal="+number;
  url              = url+"?prijs="+price;  

  if (window.XMLHttpRequest)
  { // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  }
  else
  { // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
      document.form.totaal_8_6_4.value = xmlhttp.responseText;
      //document.getElementByName(field_return).value=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET",url,true);
  xmlhttp.send();
}


Met document.form.totaal_8_6_4.value = xmlhttp.responseText; wordt de uitkomst in het veld met de naam totaal_8_6_4 gezet. (<input id="text" name="totaal_8_6_4" size="7" value=""></input>) Echter bestaat dit form uit een aantal rijen met meerdere totaal-velden (bijv. totaal_8_6_5, totaal_8_6_6, etc.)

Daarom geeft ik een var field_return (input-field waarin de uitkomst moet komen) mee aan de functie zodat de uitkomst altijd in het juiste veld komt. Ik dacht dat op de volgende manier te kunnen doen:
document.form.field_return.value = xmlhttp.responseText;

Helaas werkt dit niet!

Daarom ook maar het volgende geprobeerd:
document.getElementByName(field_return).value=xmlhttp.responseText;

Ook dit werkt niet.

Is hetgeen ik wil uberhaupt wel mogelijk en zo ja, hoe?

Toevoeging op 03/02/2011 10:23:55:

Niemand een idee???
Gewijzigd op 03/02/2011 07:31:56 door Henk Jacobse
 
PHP hulp

PHP hulp

27/05/2026 13:40:29
 
Kris Peeters

Kris Peeters

03/02/2011 11:48:48
Quote Anchor link
Je zou met JSON kunnen werken.

Je geeft dan een object mee waarin je zowel de waarde als het veld mee geeft, eventueel kan je meerdere waarden tegelijk doorsturen.

Interesse?
 
Henk Jacobse

Henk Jacobse

03/02/2011 11:49:28
Quote Anchor link
Interesse is er wel alleen totaal geen ervaring mee.

Zou je een voorbeeld kunnen geven?
 
Kris Peeters

Kris Peeters

03/02/2011 13:08:23
Quote Anchor link
Een voorbeeld; ik ben wat in jouw stijl gebleven

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<html>
  <head>
    <script>
      function calculate_multiply(field_return, number, price)
      {
        var xmlhttp;
        var url          = "calculate.php?aantal=" + number +"&prijs=" + price +"&field_return=" + field_return;
        
        if (window.XMLHttpRequest)
        { // code for IE7+, Firefox, Chrome, Opera, Safari
          xmlhttp=new XMLHttpRequest();
        }
        else
        { // code for IE6, IE5
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange=function(){
          if (xmlhttp.readyState==4 && xmlhttp.status==200){
            var response = xmlhttp.responseText.toString();
            var responseObject = eval('(' + response + ')');
            document.getElementById(responseObject.field_return).value = responseObject.value;
          }
        }
        xmlhttp.open("GET",url,true);
        xmlhttp.send();
      }
    </script>
  </head>
  <body>
    <form name="form">
      <div><input id="totaal_8_6_4"> <span onclick="calculate_multiply('totaal_8_6_4', 'number', 'price')">klik</span> </div>
      <div><input id="totaal_8_6_5"> <span onclick="calculate_multiply('totaal_8_6_5', 'number', 'price')">klik</span> </div>
      <div><input id="totaal_8_6_6"> <span onclick="calculate_multiply('totaal_8_6_6', 'number', 'price')">klik</span> </div>
      <div><input id="totaal_8_6_7"> <span onclick="calculate_multiply('totaal_8_6_7', 'number', 'price')">klik</span> </div>
    </form>
  </body>
</html>


calculate.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$value
= 'Hello World!'; // of uiteraard iets nuttiger

$waarde = new stdClass();
$waarde->field_return   = $_GET['field_return'];
$waarde->value          = $value;

echo json_encode($waarde);
?>


Nu, wat je precies probeert te doen, weet ik niet.
Hoe je calculate_multiply() aanroept, weet ik ook niet.
 
Henk Jacobse

Henk Jacobse

03/02/2011 13:57:49
Quote Anchor link
Oke, ga ik even kijken wat ie nu doet.

ik had overigens het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<div>
  <input id="text" name="number_8_6_4" size="7" value="" onchange="calculate_multiply('totaal_8_6_4', this.value, '5.1')"></input>
  <input id="text" name="prijs_8_6_4" size="7" value=""></input>
  <input id="text" name="totaal_8_6_4" size="7" value=""></input>
<div>
<div>
  <input id="text" name="number_8_6_5" size="7" value="" onchange="calculate_multiply('totaal_8_6_5', this.value, '2.6')"></input>
  <input id="text" name="prijs_8_6_5" size="7" value=""></input>
  <input id="text" name="totaal_8_6_5" size="7" value=""></input>
<div>


Effe kijken of ie hiermee ook werkt
Gewijzigd op 03/02/2011 13:58:38 door Henk Jacobse
 
Kris Peeters

Kris Peeters

03/02/2011 14:02:27
Quote Anchor link
Zie juist wel dat je bij name="number_8_6_5" ook id="number_8_6_5" zet (ook bij de andere input elementen).

Die meerdere id="text" mag niet. id hoort uniek te zijn. Daarom is het ook een id
 
Henk Jacobse

Henk Jacobse

03/02/2011 14:29:14
Quote Anchor link
Oke,

Ik heb nu het volgende:

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
function calculate_multiply(field_return, number, price)
{
  var url          = "calculate.php?aantal=" + number +"&prijs=" + price +"&field_return=" + field_return;
        
  if (window.XMLHttpRequest)
  { // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  }
  else
  { // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
      var response = xmlhttp.responseText.toString();
      alert(response);
      var responseObject = eval('(' + response + ')');
      document.getElementById(responseObject.field_return).value = responseObject.value;
     }
  }
  xmlhttp.open("GET",url,true);
  xmlhttp.send();
}


De alert(response); laat nu de berekende waarde zien alleen wordt het nergens getoond.
 
Kris Peeters

Kris Peeters

03/02/2011 14:59:19
Quote Anchor link
Mijn laatste opmerking gelezen?
Toon ook eens je formulier en calculate.php
 
Henk Jacobse

Henk Jacobse

03/02/2011 15:12:05
Quote Anchor link
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
    <script>
      function calculate_multiply(field_return, number, price)
      {
        var xmlhttp;
        var url          = "calculate.php?aantal=" + number +"&prijs=" + price +"&field_return=" + field_return;
        if (window.XMLHttpRequest)
        { // code for IE7+, Firefox, Chrome, Opera, Safari
          xmlhttp=new XMLHttpRequest();
        }
        else
        { // code for IE6, IE5
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange=function(){
          if (xmlhttp.readyState==4 && xmlhttp.status==200){
            var response = xmlhttp.responseText.toString();
            alert("Response = "+response);
            var responseObject = eval('(' + response + ')');
            document.getElementById(responseObject.field_return).value = responseObject.value;
           }
       }
        xmlhttp.open("GET",url,true);
        xmlhttp.send();
      }
    </script>     
</head>
<body>
  <form name="form" method="post" action="" enctype="multipart/form-data" accept-charset="UTF8">    
    <div>
      <input id="aantal_8_6_4" name="aantal_8_6_4" size="7" value="" onchange="calculate_multiply('totaal_8_6_4', this.value, '5.2')" /></input>
      x
      <input id="bedrag_8_6_4" name="bedrag_8_6_4" size="7" value=""></input>
      =
      <input id="totaal_8_6_4" name="totaal_8_6_4" size="7" value=""></input>
     </div>
     <div>
      <input id="aantal_8_6_5" name="aantal_8_6_5" size="7" value="" onchange="calculate_multiply('totaal_8_6_5', this.value, '1.3')" /></input>
      x
      <input id="bedrag_8_6_5" name="bedrag_8_6_5" size="7" value=""></input>
      =
      <input id="totaal_8_6_5" name="totaal_8_6_5" size="7" value=""></input>
     </div>    
    </form>
</body>
</html>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$value
= 5;
//$_GET['aantal'] * $_GET['prijs'];

$waarde = new stdClass();
$waarde->field_return   = $_GET['field_return'];
$waarde->value          = $value;

echo json_encode($waarde);
?>


Toevoeging op 03/02/2011 15:15:57:

Nu krijg ik ook geen waarden meer terug in de alert ... pfff
 
Kris Peeters

Kris Peeters

03/02/2011 17:05:01
Quote Anchor link
Ah, I see.

Het gaat om een soort van winkelkarretje, ja?

Dan zullen we het een beetje anders moeten aanpakken.

Om te beginnen, javascript is zelf bekwaam om dit te kunnen uitrekenen. Ajax is hier niet nodig (tenzij er nog iets extra moet gebeuren op de server).

Nu heb je een functie met drie parameters. Je vult de prijs in in de onchange. De bedoeling zal wel zijn dat die waarde uit de tweede input komt, ja?
 
Henk Jacobse

Henk Jacobse

03/02/2011 17:30:45
Quote Anchor link
Inderdaad de waarden van de eerst 2 velden moeten opgeteld worden. Vervolgens moet het resultaat getoond worden in veld 3
 
Kris Peeters

Kris Peeters

03/02/2011 23:08:27
Quote Anchor link
Ik heb alles wat herschreven, maar dan met jQuery. Geen bezwaar?

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <link rel="stylesheet" type="text/css" href="style.css"/>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="js.js"></script>
  </head>
    <body>
        <form name="form" method="post" action="" enctype="multipart/form-data" accept-charset="UTF8">  
          <div id="_8_6_4" class="article_row">
            <input name="aantal_8_6_4" class="aantal" size="7" value="" />
            x
            <input name="bedrag_8_6_4" class="bedrag" size="7" value="" />
            =
            <input name="totaal_8_6_4" class="totaal" size="7" value="" />
          </div>
          <div id="_8_6_5" class="article_row">
            <input name="aantal_8_6_5" class="aantal" size="7" value="" />
            x
            <input name="bedrag_8_6_5" class="bedrag" size="7" value="" />
            =
            <input name="totaal_8_6_5" class="totaal" size="7" value="" />
          </div>
          <div id="_8_6_6" class="article_row">
            <input name="aantal_8_6_6" class="aantal" size="7" value="" />
            x
            <input name="bedrag_8_6_6" class="bedrag" size="7" value="" />
            =
            <input name="totaal_8_6_6" class="totaal" size="7" value="" />
          </div>
        </form>
    </body>
</html>


js.js
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
$(document).ready(function (e) {
  $('.article_row .aantal, .article_row .bedrag').change(input_changed);
});

function input_changed (e) {
  // try to find the row where the input was changed.
  // first try if the input was a "aantal"
  var selected_row = $('.article_row .aantal').index(e.target);
  // if not, try if the input was a "bedrag"
  if (selected_row == -1) {
    selected_row =$('.article_row .bedrag').index(e.target);
  }
  // now we know the affected row, we will check the values of "aantal" & "bedrag"
  var aantal = $($('.article_row .aantal')[selected_row]).val();
  var bedrag = $($('.article_row .bedrag')[selected_row]).val();
  // check if both values are numerical
  if ( Number(aantal) && Number(bedrag) ) {
    var id = $('.article_row')[selected_row].id;
    // alert(id);
    var url = "calculate.php"
        +"?aantal="       + Number(aantal)
        +"&bedrag="       + Number(bedrag)
        +"&id="           + escape(id)
        +"&selected_row=" + Number(selected_row)
    ;
    // Ajax request
    $.ajax({
      type: "GET",
      url: url,
      dataType: "json",
      success: calculated
    });
    /**
    //  MERK OP: ZONDER AJAX LUKT HET OOK.
    $($('.article_row .totaal')[selected_row]).val( Number(aantal) * Number(bedrag) );
    */
   }
  else {
    // if needed, handle non-numerical data
  }  
}

function calculated (data) {
  var selected_row = data.selected_row;
    $($('.article_row .totaal')[selected_row]).val(data.totaal);
}


calculate.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$waarde
= new stdClass();
$waarde->selected_row   = (int) $_GET['selected_row'];
$waarde->id   =                 $_GET['id'];  // eventueel doe je hier iets mee
$waarde->totaal         = (int) $_GET['aantal'] * (float) $_GET['bedrag'];
echo json_encode($waarde);
?>


Je weet hoe je jQuery kan toevoegen?
Eventueel gehost door Google: klik

Kan je daar mee weg?
 
Henk Jacobse

Henk Jacobse

04/02/2011 06:58:16
Quote Anchor link
Bekijk de volgende link eens. Heb jou code hier neergezet maar op een of andere manier werkt het nog niet
Gewijzigd op 04/02/2011 07:40:04 door Henk Jacobse
 
Kris Peeters

Kris Peeters

04/02/2011 09:16:25
Quote Anchor link
Je moet wel jQuery toevoegen.

Ofwel download je jquery en sla je die op als jquery.js
ofwel vervang je op lijn 5 "jquery.js" door "//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"
 
Henk Jacobse

Henk Jacobse

04/02/2011 10:34:39
Quote Anchor link
Zo dan, aangepast en het werkt gedeeltelijk ...

Indien ik het zonder de ajax-code doet werkt het alleen lijkt het erop dat de ajax code (ik vermoedt json) niet werkt. Enig idee hoe we dit oplossen?
Gewijzigd op 04/02/2011 10:37:14 door Henk Jacobse
 
Henk Jacobse

Henk Jacobse

18/02/2011 11:47:55
Quote Anchor link
Kris (of andere collega's,

Nog even een vraagje: ik zou nu bij <input name="totaal_8_6_4" class="totaal" size="7" value="" /> willen veranderen in een div of span. En deze vullen met de som uit de velden aantal en bedrag.

Hoe gaat dat in zijn werk?
 



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.