JavaScript Prob (ajax?)

07/25/2007 14:40 Mizu#1
Hi,

Also.... Ich muss ein RechenScript erstellen das ich auch soweit fertig habe, mein Problem ist nun dass der Ausgabe Text indem die Preise kalkuliert werden sich direkt neu ausrechnet sobald man im <select>-Feld etwas neues angewählt hat.

Hab es mit Javascript probiert aber kahm noch zu keiner akzeptablen Lösung (als javascript nap). :cry:

Bräuchte nur ein paar hinweise/leitfäden, Beispiele wäre aber auch nett.

thanks in advance
07/25/2007 15:39 pengpong#2
Quote:
...mein Problem ist nun dass der Ausgabe Text indem die Preise kalkuliert werden sich direkt neu ausrechnet sobald man im <select>-Feld etwas neues angewählt hat.
Soll das nicht so sein, dass sich die Preise bei Änderung aktualiseren?
07/25/2007 15:43 Mizu#3
ja genau
07/25/2007 16:06 pengpong#4
hm, hab mich nur gewundert, weil normalerweise will man ja, dass sich das Ergebnis aktualisiert, wenn man was ändert...

hat denn dann dein <select> field sowas wie ein onChange="" ?
07/25/2007 16:17 Mizu#5
aye, werde morgen den quellcode mal posten wenn ichs bis da hin nicht auf dem lappi geschafft habe, thx schonmal.
07/26/2007 14:55 Mizu#6
Nun ... nach Stundenlanger Arbeit an Actionscript kann ich mich nun wieder diesem Thema zuwenden.

Nochmal ausführlich:
Ich habe eine Auswahlliste in den z.b. Brot und Butter stehen.
Wenn ich die Auswahlliste nun auf Butter setze will ich dass an einer bestimmten stelle ein vordefinierter Text erscheint.

Ich weiss dass es irgendwie mit onchange in den <option>-tags funktioniert, aber nicht genau wie und vorallem dass sich dann ein loser text ändert.
07/26/2007 16:03 pengpong#7
Vielleicht bringt dich das weiter?

Code:
&#60;script>
function makemyday&#40;&#036;value&#41; {
document.getElementById&#40;&#34;absatz&#34;&#41;.innerHTML=&#34;Ich liebe&#58; &#34; + &#036;value;
}
&#60;/script>

&#60;div id=&#34;absatz&#34;>Ich mag nichts...&#60;/div>

&#60;select name=&#34;top5&#34; size=&#34;1&#34; onChange=&#34;makemyday&#40;this.value&#41;&#34;>
   &#60;option>Brot&#60;/option>
   &#60;option>Butter&#60;/option>
   &#60;option>Nutella&#60;/option>
   &#60;option>Dingens&#60;/option>
   &#60;option>Zeugs&#60;/option>
&#60;/select>
07/26/2007 16:08 Mizu#8
Das hat mir PRIMA geholfen undzwar aus folgenden Grund:
Ich wusste dass du mir was anständiges schickst...
Hats nicht im IE funktioniert in dem ich die letzten 5 Stunden arbeite.
Hab ichs mit meinen default Browser probiert und siehe da, meine alten Codeschnipsel bei den ich es mit Div probiert habe funktionierten nun auch ... sowas muss man ja erstmal wissen ^^

nundenn vielen dank, später poste ich dann mal den link zu der Seite.
07/26/2007 16:38 pengpong#9
na, ich bin ja auch ein held.. hab meinen code auch nur im FF getestet...
hier ist das ganze ein bisschen abgeändert damit es im IE+FF funzt:

das schöne ist, wenn du in dem makemyday das ".text" zu ".value" änderst, kannst du auch auf die "value='XXXX'" in den options zugreifen

Code:
&#60;script>

function makemyday&#40;selection&#41; {
&#036;value = selection.options&#91;selection.selectedIndex&#93;.text;
document.getElementById&#40;&#34;absatz&#34;&#41;.innerHTML=&#34;Ich liebe&#58; &#34; + &#036;value;
}

&#60;/script>

&#60;div id=&#34;absatz&#34;>Ich mag nichts...&#60;/div>

&#60;select id=&#34;top5&#34; size=&#34;1&#34; onChange=&#34;makemyday&#40;this&#41;&#34;>
   &#60;option value=&#34;1231&#34;>Brot&#60;/option>
   &#60;option value=&#34;19191&#34;>Butter&#60;/option>
   &#60;option>Nutella&#60;/option>
   &#60;option>Dingens&#60;/option>
   &#60;option>Zeugs&#60;/option>
&#60;/select>
07/27/2007 19:00 Mizu#10
funktioniert alles soweit recht gut, hab nur das problem dass ich ne etwas große xml datenbank angelegt habe und nun bei unterklasse nichts ansteuern kann.
suche also dazu nen codeschnippel bzw wie ich per java auf eine mysql db zugreifen kann, ansonsten werde ich wohl ne extra php seite machen die alle variablen aus mysql liest und javatauglich macht, obwohl mir das sehr aufwendig erscheint.
07/28/2007 03:04 pengpong#11
java? oder javascript?

falls javascript, ist JSON das zauberwort -->
[Only registered and activated users can see links. Click Here To Register...]
ist zwar erst mit php 5.2.0 standardmäßig verfügbar, aber es ist nicht so das problem sich ne funktion zu schreiben, die etwas ähnliches macht.
das ganze dann mit ajax in etwa so:

-------------------
onChange="getDBdata('Blablub');"
--------------------
function getDBdata(&#036;value) {
&#036;data=AjaxRequest("/dbdata.php?input="+&#036;value);
eval(&#036;data);
}
--------------------

und dbdata.php holt dann anhand des inputs die passenden teile der db, und wandelt sie per json in javascript kompatibles zeugs um.


Naja, das ganze jetzt mal nur als Gedanken, ganz so leicht wirds wahrscheinlich nicht gehen, aber so in der Art ;)



----------------
per javascript auf ne db zuzugreifen find ich extrem schlecht -> du müsstest die zugangsdaten für die DB im js code haben, die dann für jeden auslesbar wären.
07/28/2007 17:07 Mizu#12
vielen dank, werde mir das morgen mal genauer anschauen und am montag weiter scripten.

ty
07/31/2007 11:03 Mizu#13
Hallo mal wieder zu einer neuen Fragestunde ;)
A2 = new Array(4,8,23,789);
var format = "A2";
var ArrayElement = "2";

Ich will nurn aus format und ArrayElement das Array abrufen, inetwa so....
format[ArrayElement] == 13;

In php war die umsetzung definitiv leichter :(
07/31/2007 15:35 pengpong#14
quick'n'dirty .... und immer daran denken "eval" ist gaaaanz böse


var &#036;A2 = new Array(4,8,23,789);
var &#036;format = "A2";
var &#036;ArrayElement = "2";

var &#036;st="&#092;&#036;"+&#036;format+"[&#092;&#036;ArrayElement]";
var &#036;result=eval(&#036;st);

alert(&#036;result);