bei einem Text nach "?" den Text rausschneiden
Jan Lauken
- javascript
hi@all,
erstmal volgendes vom Code:
var URL = location.href;
var gefunden = URL.indexOf("?");
var rest = "";
so ich möchte allso aus der URL der HTML datei befehle Werte entnehmen. Jetzt will ich erstmal das die Variable "rest" der ganze Text nach "?" ist...
z.b www.xy.de/index.htm?mail=jan@lauken.de
also soll die Variable "rest" gleich "mail=jan@lauken.de"
Ich dachte mir so das er den Text von Zeile "URL-indexOf('?')" bis zur Zeile "URL.length" nimmt... wie mach ich das?
Hallo Jan,
du schon wieder... :-)
schau dich mal hier um:
http://selfhtml.teamone.de/javascript/objekte/string.htm
ich würd mal slice() oder split() probieren.
Schöne Grüße aus Köln-Ehrenfeld,
Elya
hi@all,
erstmal volgendes vom Code:
var URL = location.href;
var gefunden = URL.indexOf("?");
var rest = "";so ich möchte allso aus der URL der HTML datei befehle Werte entnehmen. Jetzt will ich erstmal das die Variable "rest" der ganze Text nach "?" ist...
z.b www.xy.de/index.htm?mail=jan@lauken.de
Du kennst selfhtml?
Wenn nicht sei dir die Lektüre empfohlen.
Da du sich mit JS beschäftigst insbesondere das hier:
http://www.netzwelt.com/selfhtml/javascript/index.htm
und dann möchtest du Details von window.location wissen, auch das steht in selfhtml http://www.netzwelt.com/selfhtml/javascript/objekte/location.htm
hoffe das hilft.
Struppi.
Hallo Jan,
URL als variable zu nutzen ist eine schlechte Idee! Davon abgesehen:
var tmpQuery = document.location.search;
if(tmpQuery.indexOf("?")==0) tmpQuery = tmpQuery.substring(1);
rest = tmpQuery;
... Komplettlösung:
function query2array(tmpQuery)
{ var q2oObj, q2oArr, q2oArr_i, tmpRest="";
q2oObj = new Array();
q2oArr = new Array();
q2oArr_i = new Array();
if(tmpQuery.indexOf("?")==0) tmpQuery = tmpQuery.substring(1);
if (tmpQuery.indexOf('&') >= 0) q2oArr = tmpQuery.split('&');
else q2oArr[0] = tmpQuery;
for (qqq=0; qqq<q2oArr.length; qqq++) {
if (q2oArr[qqq].indexOf('=') > -1) {
q2oArr_i = q2oArr[qqq].split('=');
tmpRest = q2oArr_i.slice(1).join("=");
q2oObj[q2oArr_i[0]] = unescape(tmpRest);
} else {
if(q2oArr[qqq]!="") q2oObj[q2oArr[qqq]] = true;
}
}
return q2oObj;
}
var dingens = query2array(document.location.search);
... dann ist dingens['mail'] das, was Du eigentlich haben willst.
Wahrscheinlich geht's auch einfacher, aber das hier tut's.
Ansonsten stimme ich meinen Mitschreibern zu: RTFM!
Grüße
Gregor
Hi,
var tmpQuery = document.location.search;
Aaaargh!
Informiere Dich bitte darüber, wo das location-Objekt angesiedelt ist.
Es ist nicht im Dokument-Objekt.
cu,
Andreas
Auch Hi,
Hi,
var tmpQuery = document.location.search;
Aaaargh!
Informiere Dich bitte darüber, wo das location-Objekt angesiedelt ist.
Es ist nicht im Dokument-Objekt.cu,
Andreas
Gnade, Hochwürden! Jajaichweiß, das Location-Objekt ist ein
direktes child von window, aber document.location geht auch.
Ist veraltet und möglicherweise deprecated(?) aber funktio-
niert prima und außerdem zeigt es immer die aktuelle
Dokumentenadresse und nicht die angeforderte Adresse. Das mag
auf den ersten Blick egal sein, spielt aber, wie ihro Gnaden
gewisslich bekannt, eine Rolle bei Weiterleitung und so.
ansonsten leiste ich Abbitte, es sollte heuer vielmehr heißen:
var tmpQuery = location.search;
if(tmpQuery.indexOf("?")==0) tmpQuery = tmpQuery.substring(1);
rest = tmpQuery;
Besser so?
Grüße
Gregor
Ach ja - gibt's eigentlich eine Möglichkeit vor JS1.5 eine URL
ohne Verrenkungen mit selbstgebastelten String-Funktionen zu
parsen? - Wär mir fast mal 'nen eigenen Thread wert ...