Strings aneinanderfügen?

Nord-Süd-Richtung

Erfahrenes Mitglied
Hi

ich stehe hier vor einem blöden Problem, das normalerweise recht simple ist: Ich möchte in Javascript mehrere strings in einer Schleife aneinander hängen. Folgende 3 Versuche haben bei mir nicht funktioniert:
Javascript:
var url = "?username="+selectValue(document.getElementById('admin_name'));
for( i = 0; i < fields.length; i++ ){
  url += "&"+fields[i]+"="+document.getElementById(fields[i]).value;
}
alert(url);

var url = "?username="+selectValue(document.getElementById('admin_name'));
for( i = 0; i < fields.length; i++ ){
  url.concat("&"+fields[i]+"="+document.getElementById(fields[i]).value);  
}
alert(url);

var url = "?username="+selectValue(document.getElementById('admin_name'));
for( i = 0; i < fields.length; i++ ){
  url2 = "&"+fields[i]+"="+document.getElementById(fields[i]).value;
  url.concat(url2);
}
alert(url);

Jedesmal kommt "?username=xyz", der Rest fehlt.
 
Zuletzt bearbeitet:
Was ist denn "fields"? Vielleicht werden die Schleifen ja garnicht durchlaufen, prüf das mal.
 
Die Schleife wird 8 mal durchlaufen :) wenn ich in der Schleife den anzuhängenden String ausgebe, steht er dort auch richtig.
edit: fields ist ein array in dem 8 ids stehen.
 
Zuletzt bearbeitet:
Folgendes Beispielszenario funktioniert bei mir.

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html id="html" xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />	
	<title>Page title</title>
</head>

<body>
	<input type="hidden" id="id1" value="a" />
	<input type="hidden" id="id2" value="b" />
	<input type="hidden" id="id3" value="c" />
	<input type="hidden" id="id4" value="d" />
	<input type="hidden" id="id5" value="e" />
	
	<script type="text/javascript">
	/* <![CDATA[ */
		var fields = ["id1","id2","id3","id4","id5"];
		
		var url = "?username=xy";
		
		for( i = 0; i < fields.length; i++ ){
			url += "&"+fields[i]+"="+document.getElementById(fields[i]).value;
		}
		alert(url);
	/* ]]> */
	</script>
</body>
</html>

Da du sagst, dass die Teilstrings in der Schleife korrekt sind, kann man schonmal ausschließen, dass document.getElementById(fields[i]) nichts zurück liefert.
Und die Fehlerkonsole gibt auch nichts aus?
Wenn deine Aussagen korrekt sind, kann ich dir mit meinem Wissen auch nicht mehr weiter helfen.
 

Neue Beiträge

Zurück