HighDots Forums  

Re: [newb] Parameterübergabe aus select-box..

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss Re: [newb] Parameterübergabe aus select-box.. in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Ralf Beutler
 
Posts: n/a

Default Re: [newb] Parameterübergabe aus select-box.. - 04-07-2007 , 04:24 AM






Ben Gurion schrieb:

Quote:
showAddress('Foostr. 17, 1000 Stadt, DE','<b>Firmenname</b><br />Foostr. 17<br />1000 Stadt<br />', 12);
das ist ein Methodenaufruf mit 3 Paramtern

Quote:
onchange="showAddress(this.options[this.selectedIndex].value)"
das ist ein Methodenaufruf mit 1 Paramter

Quote:
option
value="'Foostr. 17, 1000 Stadt, DE','<b>Firmenname</b><br />Foostr. 17<br />1000 Stadt', 12">D-1000 Stadt - Firmenname</option
value ist ein String, auch wenn du da noch mehr Kommata einbaust, bleibt
das ein String.

Du solltest dir was anderes überlegen:

Quote:
showAddress(
'Foostr. 17, 1000 Stadt, DE',
'<b>Firmenname</b><br />Foostr. 17<br />1000 Stadt<br />',
12
);
ändern in:

onchange="prepareShowAddress(this.options[this.selectedIndex].value)"

function prepareShowAddress(value){
arr = value.split('#');
if(arr.length !== 3){
throw 'value hat das falsche Format';
}
arr[1] = arr[1].replace(/[/g, '<');
arr[1] = arr[1].replace(/]/g, '>');
arr[2] = parseInt(arr[2], 10); // evtl. nicht nötig
showAddress(arr);
}

<option
value="'str. 7, 1000 Stadt,DE'#'Firmname[br] str.7[br] Stadt'#12">
D-1000 Stadt - Firmenname
</option>

br | rb
--
Sie freuten sich riesig, wenn eine Maschine nach sechs Stunden etwas
fertig brachte, wozu jeder Mensch auf der Straße für 2 Cent fähig
gewesen wäre. Anschließend ließen sie sich Bananen- und Sushi-Pizza
kommen und schliefen vor der Tastatur ein. [aus T.P., Heiße Hüpfer]


Reply With Quote
  #2  
Old   
Ralf Beutler
 
Posts: n/a

Default Re: [newb] Parameterübergabe aus select-box.. - 04-07-2007 , 09:43 AM






Hi,

Ben Gurion schrieb:
Quote:
Ralf Beutler <spamme (AT) brain4 (DOT) de> wrote:
onchange="prepareShowAddress(this.options[this.selectedIndex].value)"

function prepareShowAddress(value){
arr = value.split('#');
if(arr.length !== 3){
throw 'value hat das falsche Format';
}

bis hier hin klar..

arr[1] = arr[1].replace(/[/g, '<');
arr[1] = arr[1].replace(/]/g, '>');
arr[2] = parseInt(arr[2], 10); // evtl. nicht nötig

1. warum keine spitzen Klammern im option value und dann die replaces?
Ich habe es nicht getestet. Prizipiell fühle ich mich mit HTML als Value
eines option Elementes unwohl, weswegen ich eckige Klammern verwendet
habe. Wenn du < und > verwenden willst/kannst, dann kannst du dir das
replace sparen.

Quote:
2. die FF Console wirft mir beim Laden ein:

ERROR: unterminated regular expression literal
arr[1] = arr[1].replace(/[/g, '<');
.........................^
[ und ] muss man escapen:
arr[1] = arr[1].replace(/\[/g, '<');

Quote:
frohes fest..
dir auch.

br | rb
--
Sie freuten sich riesig, wenn eine Maschine nach sechs Stunden etwas
fertig brachte, wozu jeder Mensch auf der Straße für 2 Cent fähig
gewesen wäre. Anschließend ließen sie sich Bananen- und Sushi-Pizza
kommen und schliefen vor der Tastatur ein. [aus T.P., Heiße Hüpfer]


Reply With Quote
  #3  
Old   
Georg Maaß
 
Posts: n/a

Default Re: [newb] Parameterübergabe aus select-box.. - 04-07-2007 , 10:44 AM



Ralf Beutler wrote:
Quote:
[ und ] muss man escapen:
arr[1] = arr[1].replace(/\[/g, '<');
Nein, muß man nicht.

] hat nur eine Bedeutung, wenn ein nicht entwertetes [ vorausgeht.

javascript:r = /]/g;alert(r);

In [a-z] muß man es auch nicht escape, weil man es ja zur Eingrenzung
der Zeichenklasse "a-z" verwendet. Nur, wenn es nicht Eingrenzung einer
Zeichnklasse sein soll und aus dem Kontext dies nicht erkennbar ist, muß
man es maskieren.

javascript:r = /\[a-z]/g;alert(r);

Alle Beispiele sind mit Mozilla und Safari getestet. IEsel habe ich
nicht auf dem Mac.


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.