abonnement Unibet Coolblue Bitvavo
pi_53023941
Haha, ja ik ben nooit geslaagd voor mijn Nederlands maar nu nog inhoudelijk commentaar op mijn scripting?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_53028284
quote:
Op vrijdag 7 september 2007 15:00 schreef Chandler het volgende:
Hoi Farenji, ik begrijp je dat je zegt dat je het wiel niet opnieuw moet uitvinden, dat wordt zovaak gezegd maar als we het wiel nooit verder zouden uitvinden waren raceauto's nog steeds zo sloom als slakken
Als bij elke auto de motor opnieuw uitgevonden zou worden zouden auto's 120 miljoen per stuk kosten en ze zouden voor geen meter rijden.
quote:
Maar om even inhoudenlijk op je reactie m.b.t. de javascript code in te gaan. die returnOBJ wordt gebruikt om de callbackfunctie aan te geven. Dit omdat ik de standaard submit en get functie wil gebruiken met apparte functies voor het 'benutten' van de output van het script!
Hmm in je code die je hier postte dus niet. Daar wordt het resultaat meteen na de ajaxcall in returnObj gestopt en dat was niet handig. Zoals je het nu doet is het wel beter.
pi_53032432
Je hebt gelijk over de kosten maar in mijn geval gaat het om moeite hé..

Vind het zelf wel een aardig gelukt stukje en zal het ook gaan gebruiken voor mijn nieuwe sites
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_53033923
quote:
Op zaterdag 8 september 2007 08:42 schreef Chandler het volgende:
maar nu nog inhoudelijk commentaar op mijn scripting?
* create_http_object probeert voor Firefox eerst al die ActiveX dingen te maken (die natuurlijk niet lukken), pas daarna wordt XMLHttpRequest() aangeroepen. Beetje zonde.
* De parameter returnOBJ returnt niets en is geen object, foute naam dus.
* ajaxSubmit en ajaxGet controleren of create_http_object wel gelukt is en geven dan een melding. Die melding geeft de functie create_http_object zelf ook al.
* Er zit wat dubbele code in, kan vast wel efficienter
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_53035392
quote:
Op zaterdag 8 september 2007 18:45 schreef SuperRembo het volgende:
* create_http_object probeert voor Firefox eerst al die ActiveX dingen te maken (die natuurlijk niet lukken), pas daarna wordt XMLHttpRequest() aangeroepen. Beetje zonde.
Dus eingelijk die XMLHttpRequest eerst proberen en daarna de rest? (zonder controle brouwser!)
quote:
* De parameter returnOBJ returnt niets en is geen object, foute naam dus.
Klopt, heb ik veranderd in stateFunction
quote:
* ajaxSubmit en ajaxGet controleren of create_http_object wel gelukt is en geven dan een melding. Die melding geeft de functie create_http_object zelf ook al.
Dus eingeljik zou ik beter de functie notifyNoAjax(); in create_http_object kunnen zetten?
quote:
* Er zit wat dubbele code in, kan vast wel efficienter
Zou je mij even wat in de richting kunnen duwen van de inefficiente code?

[/quote]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_53036009
quote:
Op zaterdag 8 september 2007 19:52 schreef Chandler het volgende:
Dus eingelijk die XMLHttpRequest eerst proberen en daarna de rest? (zonder controle brouwser!)
Dat zou al beter zijn. Het kan nog mooier (code van Crisp als ik 't goed heb):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if (!window.XMLHttpRequest) 
{
   window.XMLHttpRequest = function() 
   {
      var types = [
         'Microsoft.XMLHTTP',
         'MSXML2.XMLHTTP.5.0',
         'MSXML2.XMLHTTP.4.0',
         'MSXML2.XMLHTTP.3.0',
         'MSXML2.XMLHTTP'   
      ];

      for (var i = 0; i < types.length; i++) 
      {
         try 
         {
            return new ActiveXObject(types[i]);
         } 
         catch(ex) {}
      }
      throw "XMLHttpRequest not supported.";
   }
}


Dan kan je gewoon overal "var request = new XMLHttpRequest()" gebruiken, ook in IE5/6. Als een browser het echt niet ondersteunt geeft ie een error (XMLHttpRequest not supported), tja, met zo'n ouwe browser moet je niet zeuren ;)
quote:
Zou je mij even wat in de richting kunnen duwen van de inefficiente code?
1
2
3
4
5
6
7
8
if (data != "")
{
   xmlHttp.open('GET', url + data + "&cache=" + saveDate.getTime(), true);
}
else
{
   xmlHttp.open('GET', url + "?cache=" + saveDate.getTime(), true);
}


1
2
3
4
5
6
7
8
9
10
if (data != "")
{
   url += data + "&";
}
else
{
   url += "?";
}
url += "cache=" + saveDate.getTime();
xmlHttp.open('GET', url, true);


(Kan natuurlijk korter en efficienter, maar dit is een voorbeeld)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zondag 9 september 2007 @ 10:18:42 #182
37634 wobbel
Da WoBBeL King
pi_53045056
1
2
3
4
5
6
7
8
9
10
function evalRequest(value) {
     var xmlhttp = new XMLHttpRequest();
     xmlhttp.onreadystatechange = function() {
          if (xmlhttp.readyState==4 && xmlhttp.status==200) {
               eval(xmlhttp.responseText);
          }
     }
     xmlhttp.open("GET", "ajax_check.php?request=barcodecheck&barcode="+value,true);
     xmlhttp.send(null);
 }


de regel met eval ( ) geeft een foutmnelding in IE7 dat er een Syntaxfout is.

Ik gebruik btw eval() omdat ajax_check.php een javascript code teruggeeft
pi_53045395
Wat staat er in xmlhttp.responseText?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zondag 9 september 2007 @ 11:04:03 #184
37634 wobbel
Da WoBBeL King
pi_53045461
quote:
Op zondag 9 september 2007 10:56 schreef SuperRembo het volgende:
Wat staat er in xmlhttp.responseText?
daar hebben we het probleem al, ajax_check werd gecached nu niet meer

DAnk
pi_53045523
quote:
Op vrijdag 7 september 2007 14:44 schreef Farenji het volgende:
Tip: ga niet zelf het wiel opnieuw uitvinden maar gebruik een goede kant en klare AJAX library.
Voor productie, ja. Voor het aanleren daarentegen valt er heel wat voor te zeggen om een deel van het wiel zelf uit te vinden (en zo complex was AJAX nou ook weer niet).
"If you are depressed you shouldn't be in C major!" - Rick Beato
  zondag 9 september 2007 @ 11:35:40 #186
37634 wobbel
Da WoBBeL King
pi_53045836
- deze was te stom -
  zondag 9 september 2007 @ 23:26:52 #187
37634 wobbel
Da WoBBeL King
pi_53062247
Ik ben echt een held in javascript...en daarom lukt mij het een en ander ook niet.

Ik heb een soort van intranetje geknutseld, waarmee ik computerreparaties kan aanmelden. De PC krijgt een barcode en met die barcode kunnen we de gegevens van de klant meteen opvragen.

1e fout: als ik eerst goede code doe, en dan foute laat ie de rijen van de goede code staan (mag dus niet)
2e fout: als ik meerdere malen een goede code invul blijven de rijen zich opstapelen

Hieronder het een en ander uitgelegd in een super helder filmpje klik op de praatballonnetjes om door te gaan => http://www.dumpzooi.nl/intranet/intranet/intranet.html
De pagina waarop jullie het kunnen testen Werkt om een of andere duistere reden alleen in IE: http://www.dumpzooi.nl/intranet/

De PHP code (in princiepe niet relevant voor dit verhaal, is alleen om te testen):
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
<?php
# fok verwijdert wat backslashes..
header('Cache-Control: no-cache');
header('Pragma: no-cache');

if ( 
$_GET['barcode'] )
{

    if ( 
$_GET['barcode'] == "CO-1337" )
    {

        echo 
"insRow(1,'  <img src="images/toptoright.gif" />Naam','<input type="text" name="textfield2" id="textfield2" value="Smit" />')";
        echo 
"rn";
        echo 
"insRow(2,'  <img src="images/toptoright.gif" />Telefoonnummer','<input type="text" name="textfield2" id="textfield2" value="074-23663593" />')";
        echo 
"rn";
        echo 
"barcodeveldColor('found')";

    
    }
    elseif ( 
$_GET['barcode'] == "CO-1336" )
    {

        echo 
"insRow(1,'  <img src="images/toptoright.gif" />Naam','<input type="text" name="textfield2" id="textfield2" value="Janssen" />')";
        echo 
"rn";
        echo 
"insRow(2,'  <img src="images/toptoright.gif" />Telefoonnummer','<input type="text" name="textfield2" id="textfield2" value="074-26663593" />')";
        echo 
"rn";
        echo 
"barcodeveldColor('found')";

    
    }
    else
    {
    
        echo 
"barcodeveldColor('notfound')";
    
    }

}
else
{

    echo 
"barcodeveldColor('notfound')";

}
?>
pi_53065855
quote:
Op zondag 9 september 2007 23:26 schreef wobbel het volgende:
1e fout: als ik eerst goede code doe, en dan foute laat ie de rijen van de goede code staan (mag dus niet)
2e fout: als ik meerdere malen een goede code invul blijven de rijen zich opstapelen
Dat lijkt me logisch als je nooit rijden verwijderd...
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 10 september 2007 @ 09:39:15 #189
37634 wobbel
Da WoBBeL King
pi_53067280
quote:
Op maandag 10 september 2007 07:31 schreef SuperRembo het volgende:

[..]

Dat lijkt me logisch als je nooit rijden verwijderd...
maar hoe controleer ik of die rijen al bestaan dan? Ik weet niet waar ik moet beginnen en google geeft me alleen de code om de rijen te verwijderen...
pi_53069998
Dat kan op allerlei manieren. Je kan de rows collection van de table gerbruiken, je kunt zelf bijhouden welke rows je hebt toegevoegd. Je kunt de rijen die je zelf toevoegt een class geven waar je ze aan kan herkennen. Als je altijd dezelfde velden laat zien dan kan je de velden leeg maken of verbergen, via ajax stuur je alleen de waarden van de velden, niet de hele HTML van de velden zelf.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 10 september 2007 @ 19:52:07 #191
136730 PiRANiA
All thinking men are atheists.
pi_53079403
Ey,
Weet iemand waar dat gifje te vinden is uit firefox dat je te zien krijgt als je op het laden van het tebblad wacht?
Ik heb die nodig voor een ajax-site...
pi_53080166
quote:
Op maandag 10 september 2007 19:52 schreef PiRANiA het volgende:
Ey,
Weet iemand waar dat gifje te vinden is uit firefox dat je te zien krijgt als je op het laden van het tebblad wacht?
Ik heb die nodig voor een ajax-site...
Bedoel je chrome/classic/skin/classic.jar/browser/Thrubber.gif?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 10 september 2007 @ 20:50:21 #193
37634 wobbel
Da WoBBeL King
pi_53080755
quote:
Op maandag 10 september 2007 20:22 schreef SuperRembo het volgende:

[..]

Bedoel je chrome/classic/skin/classic.jar/browser/Thrubber.gif?
hoe extract je die jar?
pi_53081409
quote:
Op maandag 10 september 2007 20:50 schreef wobbel het volgende:

[..]

hoe extract je die jar?
Gewoon met winzip/winrar/...
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  dinsdag 11 september 2007 @ 07:50:36 #195
136730 PiRANiA
All thinking men are atheists.
pi_53088609
www.ajaxload.info daar heb ik hem gevonden
handige site
  vrijdag 14 september 2007 @ 23:29:28 #196
37634 wobbel
Da WoBBeL King
pi_53186323
Waarom werkt onderstaande NIET in firefox maar wel in IE7
(het gaat om het Ja / Nee verhaal op deze pagina -> http://www.dumpzooi.nl/intranet/

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
<script>
function Kiekeboe_a ()
{
   
   if ( document.getElementById ( 'Barcode' ).value == 'y' )
   {
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe';
      document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt';
   }
   else
   {
   
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt';
      document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe';
   }

   
}

function Kiekeboe_b ()
{
   
   if ( document.getElementById ( 'Barcode' ).value == 'n' )
   {
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe';
      document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt';
   }
   else
   {
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt';
      document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe';
   }
   
}
</script>


Met volgende HTML codes:

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
<div id="content">
<h2>Reparatie aanmelden</h2>
<form action="#SITE_URL/task_add.php" method="post" name="TaskAdd" id="TaskAdd">
<table width="100%" border="0" cellspacing="0" cellpadding="1">
  <tr>
    <td width="50%" align="left" valign="top">Bevat de PC een barcode?</td>
    <td width="50%" align="left" valign="top">Ja <input type="radio" name="Barcode" id="radio" value="y" onclick="Kiekeboe_a()" /> Nee <input type="radio" name="Barcode" id="radio2" value="n" onclick="Kiekeboe_b()" /></td>
  </tr>
  <tr id="BarcodeVeld" class="BarcodeVerstopt">
   <td colspan="2">
    
    <table width="100%" border="0" cellspacing="0" cellpadding="0" id="ReparatieTabel">
      <tr>
        <td width="50%" align="left" valign="top">  <img src="#SITE_URL/include/images/toptoright.gif" />Barcode</td>
        <td width="50%" align="left" valign="top"><input type="text" name="BarcodeInputVeld" id="BarcodeInputVeld" onBlur="BarcodeCheck(this.value)" style="border: solid #7f9db9 1px;" /> <img src="#SITE_URL/include/images/reload.gif" onclick="BarcodeCheck(document.getElementById ( 'BarcodeInputVeld' ).value)" /></td>
      </tr>
    </table>    
    
    </td>
  </tr>
  <tr id="KlantVeld" class="KlantVerstopt">
    <td colspan="2">
    
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="50%" align="left" valign="top">  <img src="#SITE_URL/include/images/toptoright.gif" />Naam</td>
        <td width="50%" align="left" valign="top"><input type="text" name="textfield2" id="textfield2" /></td>
      </tr>
      <tr>
        <td width="50%" align="left" valign="top">  <img src="#SITE_URL/include/images/toptoright.gif" />Telefoonnummer</td>
        <td width="50%" align="left" valign="top"><input type="text" name="textfield3" id="textfield3" /></td>
      </tr>
    </table>
    
    </td>
  </tr>
 <tr>
    <td align="left" valign="top" colspan="2"> </td>
  </tr>
  <tr>
    <td align="center" valign="top" colspan="2"><input type="image" name="imageField" src="#SITE_URL/include/images/buttons/task_toevoegen.jpg"></td>
  </tr>
</table>


<input type="hidden" name="sid" value="8f99d96f935336c7b8efb70944ff3105" /></form>
</div>
pi_53186606
Je hebt geen element met id="Barcode", wel met name="Barcode". getElementById("Barcode") levert dus niets op. Alleen IE zoekt bij getElementById niet alleen op id maar ook op name.

(Die fout had je makkelijk zelf kunnen vinden als je naar de foutmelding had gekeken die Firefox geeft)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zaterdag 15 september 2007 @ 19:11:20 #198
37634 wobbel
Da WoBBeL King
pi_53201957
quote:
Op vrijdag 14 september 2007 23:38 schreef SuperRembo het volgende:
Je hebt geen element met id="Barcode", wel met name="Barcode". getElementById("Barcode") levert dus niets op. Alleen IE zoekt bij getElementById niet alleen op id maar ook op name.

(Die fout had je makkelijk zelf kunnen vinden als je naar de foutmelding had gekeken die Firefox geeft)
FF gaf me niks of ik ben blind

maargoed, opgelost

BTW, kan dit niet VEEL korter?

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
function Kiekeboe_a ()
{
   
   if ( document.getElementById ( 'Barcode' ).value == 'y' )
   {
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe';
      document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt';
   }
   else
   {
   
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt';
      document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe';
   }

   
}

function Kiekeboe_b ()
{
   
   if ( document.getElementById ( 'Barcode' ).value == 'n' )
   {
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe';
      document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt';
   }
   else
   {
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt';
      document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe';
   }
   
}


[ Bericht 33% gewijzigd door wobbel op 15-09-2007 19:29:30 ]
pi_53204759
Beide functies doen eigenlijk hetzelfde: kijken naar de status van de radiobuttons en dan een van de twee velden tonen. Dus dat kan makkelijk in 1 functie.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zondag 16 september 2007 @ 14:22:29 #200
37634 wobbel
Da WoBBeL King
pi_53218305
quote:
Op zaterdag 15 september 2007 21:07 schreef SuperRembo het volgende:
Beide functies doen eigenlijk hetzelfde: kijken naar de status van de radiobuttons en dan een van de twee velden tonen. Dus dat kan makkelijk in 1 functie.
dan zou alleen onderstaande toch ook moeten werken? Dat ik bij beide radiobuttons zelfde functie aanroep? (alleen dat doet ie dus niet)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function Kiekeboe_a ()
{
   
   if ( document.getElementById ( 'Barcode' ).value == 'y' )
   {
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe';
      document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt';
   }
   else
   {
   
      document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt';
      document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe';
   }

   
}
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')