Strings in Funktion verketten?
Rainer
- javascript
0 Rainer0 Rainer0 Felix Riesterer
Hallo allerseits,
ich komme mit der Verkettung von Strings in einer JS-Funktion nicht zurecht. Framework: prototype.
Mein bisheriges Script:
<script type="text/javascript">
function change(script,element)
{
new Ajax.Updater(element,script, {
method: 'get'
});
}
function tAnzeige (field, maxlimit){
if (field.value.length == maxlimit){
if (field.value.length == maxlimit){
change('TAnzeige.php?a="' + document.getElementById("Hersteller").value + '" ','T');
}
}
}
</script>
#html Ausschnitt#
<input name="Hersteller" id="Hersteller" type="text" value="" maxlength="4" />
<input name="Typ" id="Typ" type="text" value="" maxlength="3" onkeyup="tAnzeige(this.form.Typ,3);" />
<div id="T"></div>
Das funktioniert erst mal.
Nun benötige ich im Javascript bei change() noche einen zeweiten Parameter:
&b="' + document.getElementById("Typ").value + '"
welchen ich nicht angehangen bekomme. Habe schon mit . und + und alle möglichen Varianten von '" oder "' und was weiss ich noch ausprobiert. Es
geht einfach nicht - dabei - es ist bestimmt einfach, ich komm nur nicht drauf.
Kann mir bitte jemand auf die Sprünge helfen?
Gruß Rainer
Sorry, bein kopieren 1x zuviel, geht aber trotzdem
function tAnzeige (field, maxlimit){
if (field.value.length == maxlimit){
change('TAnzeige.php?a="' + document.getElementById("Hersteller").value + '" ','T');
}
}
Gruß Rainer
Manchmal brauchts halt nhur eine Pause:
change('../ajax/TAnzeige.php?a=' + document.getElementById("Hersteller").value + '&b=' + document.getElementById("Typ").value + ' ','T');
war das weas ich suchte.
Gruß Rainer
Lieber Rainer,
warum enthalten Deine URL-Parameter Quotes? Vergleiche:
example.com/?a=123&b=234
example.com/?a="123"&b="234"
Letzteres ist eher ungewöhnlich, da auf der Serverseite die Quotes als Bestandteil des Wertes ankommen. Willst Du a='"123"' oder willst Du a='123' haben?
Liebe Grüße,
Felix Riesterer.
Moin!
Lieber Rainer,
warum enthalten Deine URL-Parameter Quotes? Vergleiche:
example.com/?a=123&b=234
example.com/?a="123"&b="234"
Und warum enthält die Bildung der URL kein Escaping?
- Sven Rautenberg
Lieber Sven Rautenberg,
example.com/?a="123"&b="234"
Und warum enthält die Bildung der URL kein Escaping?
Du meinst in etwa so? example.com/?a=%22123%22&b=%22234%22
Liebe Grüße,
Felix Riesterer.
warum enthalten Deine URL-Parameter Quotes? Vergleiche:
Und warum enthält die Bildung der URL kein Escaping?
Wenn schon Prototype verwendet wird, empfehle ich einfach die Nutzung eines in Protoype eingebauten Hash-Objektes und dessen Methode Hash#toQueryString, welche so Kleinarbeit einfach für einen erledigt.