[JS] Eingabe zweier Variablen, für link

RedLord

Cadet 3rd Year
Registriert
Aug. 2004
Beiträge
38
Ist es machbar am besten in JS oder HTML selbst zwei Input boxen

Name: Input1 Passwort: Input2 Button Enter

so dass sich aus Input1 und Input2 eine Adresse wie folgt bildet die mit enter aktiviert wird.

h**p://input1@input2/member/index.html

Ich hab leider keine Ahnung wie ich dass anstellen soll, und bevor ich lange herumexperiementiere dachte ich frage ich mal hier nach ob mir einer vielleicht behilflich sein kann.
Danke.


Ich hab ein wenig rumgespielt komme jetzt aber nicht weiter:

<script language="JavaScript" type="text/javascript">

function enter()
{
var check = document.member
name = check.user.value
passwort = check.pwd.value
location.href = http://name@passwort/member/index.html
}

</script>


<form name="member" onsubmit="return enter()">
<input name="user" type="text" maxlength="16" size="8"><br>
<input name="pwd" type="password" maxlength="16" size="8"><br>
<input type="submit" value="Enter" size="8">
</form>
 
Zuletzt bearbeitet:
Ahoi!

Spontan würde ich das wie folgt machen:
Code:
<html>
<head>
	<script type="text/javascript">
		function send() {
			var user = document.login_form.user_txt.value;
			var pass = document.login_form.pass_txt.value;

			var urlStr = "http://"+user+"@"+pass+"/member/index.html";
			alert("Aufruf von:\n"+urlStr);

			window.location = urlStr;
		}
	</script>
</head>

<body>
	<form name="login_form">
		<p>User: <input name="user_txt" type="text" value="Benutzername eingeben"/></p>
		<p>
			Pass: <input name="pass_txt" type="text" value="Passwort eingeben"/>
			<input type="button" value="Enter" onclick="javascript: send();"/>
		</p>
	</form>
</body>
</html>

Aber das is natürlich nur ne Schnellversion! Da fehlt auf jeden Fall noch ne Überprüfung des Benutzernames und des Passworts. Also auf nicht erlaubte Zeichen / URL encoding, etc.
Die von die angegebene URL ist nur ein Beispiel, nehme ich an. Denn so ist das keine gültige URL, da http:// + kein Domainname.

Gruß,
matsche


Mist, hab deinen Edit jetzt erst gesehen:
Dein Problem ist das hier:
Code:
 location.href = http://name@passwort/member/index.html

Mach mal
Code:
window.location.href = "http://"+name+"@"+passwort+"/member/index.html";
daraus.
 
Zuletzt bearbeitet:
Vielen herzlichen dank, dein Script hat mir alle fragen eigentlich schon beantwortet, und danke dass du nochmal auf mein Script bezug genommen hast und mir mein Problem gezeigt hast, mit Lösung.

Einfach super. *freu* und *dazugelernt* = :D
 
....
<script type="text/javascript">
function send()
{
var user = document.login_form.user_txt.value;
var pass = document.login_form.pass_txt.value;
var urlStr = "http://"+user+":"+pass+"@adresse.de/members/index.html";
window.location.href = urlStr;
}
</script>
....
<form name="login_form">
<input name="user_txt" type="text" value="Name" size=10 /><br>
<input name="pass_txt" type="password" value="Passwort" size=10 />
<input type="button" value="LogIn" onclick="javascript: send();"/>
</form>
....

Bis hierher funktioniert alles wunderbar, jetzt hab ich ein wenig herum gespielt um bei der Bestätigung einen Frame anzusteuern, als das eigentlich Fenster, bzw auch mit dem eigenen Fenster, aber ich bekomm dass einfach nicht hin. Ich hab es versucht irgendwie so hinzudeigseln dass die Variable urlStr hier rein passt

function doppellink(url1,frame1,url2,frame2)
{
parent.frames[frame1].location.href=url1;
parent.frames[frame2].location.href=url2;
}

Aber irgendwie fehlt mir da dass vertändnis, oder ich hab es falsch probiert. Bitte nochmal helfen :heul:
________________________________________________________________
Wenn Blödheit wehtun würde würde ich ständig schreien! Man grad nochmal alles angeschaut und festgestellt wie es sein muss damits klappt, eigentlich total easy.

....
<script type="text/javascript">
function send(urlStr,frame1)
{
var user = document.login_form.user_txt.value;
var pass = document.login_form.pass_txt.value;
var urlStr = "http://"+user+":"+pass+"@ibl-germany.de/members/index.html";
parent.frames[frame1].location.href = urlStr;
}
</script>
....
<form name="login_form">
<input name="user_txt" type="text" value="Name" size=10 /><br>
<input name="pass_txt" type="password" value="Passwort" size=10 />
<input type="button" value="LogIn" onclick="javascript: send('','main');"/>
</form>
...
 
Zuletzt bearbeitet:
Sorry, blick's net ganz.
Du willst praktisch gleichzeitig den Inhalt mehrerer Frames per Link übernehmen, richtig?

Der Teil aus dem Edit vom letzten Post paßt auf jeden Fall.
Die Funktion "doppellink" von weiter oben ist aber auch okay. Du mußt halt nur die URLs und Zielframes entsprechend übergeben, also beim Aufruf der Funktion im html onclick-Attribut.

Noch ein Tipp: Du solltest auf jedem Fall die Eingaben überprüfen, bevor du über location die neue (zusammengesetzte) URL aufrufst. Denn in einer URL sind ja nicht alle Zeichen erlaubt, die der Benutzer eingeben kann. Da könnte dir z.B schon ein (fälschlich reingetipptes) Leerzeichen am Ende der Eingabe alles zerschießen, und der Benutzer wundert sich, warum es nicht funktioniert.

Mit dieser Funktion hier, kannst du z.B. alle (überflüssigen) Whitepace-Zeichen aus nem Eingabestring entfernen. (Hat google auf die Schnelle ausgespuckt):
Code:
<SCRIPT LANGUAGE="Javascript">
function Trim(s) 
{
  // Remove leading spaces and carriage returns
  
  while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
  {
    s = s.substring(1,s.length);
  }

  // Remove trailing spaces and carriage returns

  while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
  {
    s = s.substring(0,s.length-1);
  }
  return s;
}
</SCRIPT>
 
Jo danke, ne ich wollt einfach nur einen anderen frame ansteuern und hab dass erstmal nicht hinbekommen, aber im Prinzip kann ich jetzt beliebig viele ansteuern.

Danke für die Tipps aber ich werd es so lassen wie es ist denn wenn sie spaces drinnen haben werden sie schon jammern und fragen was los is, dann weiss ich wenigstens was ich dann schon sagen kann ;) also danke nochmal!
 
Zurück
Oben