Wert per Fernbedienung

mac2ooo

Mitglied
Hallo,

ich habe folgende sache mit der ich nach suchein google oder hier nicht ganz weiter komme.

Deswegen habe ich kleine Grafik erstellt die ich als anlage hier hochalde.

Folgendes:

Ich habe ein HTML Formular das zur Vereinfachung bei diversen Feldern eine art Satelliten Fenster öffnen soll. In den ein Wer gewählt werden kann und das durch klicken auf den wer geschlossen wird und er werd in das Formular über normen wird. Ich möchte damit lange Select-Boxen umgehen und den Benutzt mit diversen sortier Kriterien die suche erleichtern.

Kann mir jemand helfen. Ich habe überhaupt keinen ansazt außer das ich das Stellten Fenster öffne kann und wieder schließen. Wie übergebe ich einen Wert in ein Feld?

Danke für Tipps und Hilfe-Stellungen.
 

Anhänge

  • java_frage.jpg
    java_frage.jpg
    55,5 KB · Aufrufe: 46
Wenn ich das richtig Verstehe, willst du aus dem geöffneten Fernbedienungsfenster Werte in das Hauptfenster bekommen.

Das ist an sich überhaupt kein Problem :)
Hier mehr dazu

lg
 
Hallo,

danke das klingt auch so wie ich das meine.

Meine Java Script kenntnise sind noch frisch ich lern das grade. Deswegen würde ich gern das ein bringen was ich schon habe und würde mich über hilfe beim einbringer der Befehle freuen.

Seite: formular.htm

HTML:
<html>

<head>
<title>Formular</title>
<script language="JavaScript">
<!-- Begin
function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
//  End -->
</script>
</head>

<body>

<form method="POST" action="save.htm">
	<p><b>Formular</b></p>
	<p align="left"><input type="text" name="feld1" size="20"><a onclick="NewWindow(this.href,'name','340','280','yes');return false;" href="links.htm"> 
	Suche</a></p>
	<p><input type="text" name="feld2" size="20"><a onclick="NewWindow(this.href,'name','340','280','yes');return false;" href="links.htm"> 
	Suche</a></p>
	<p><input type="text" name="feld3" size="20"><a onclick="NewWindow(this.href,'name','340','280','yes');return false;" href="links.htm"> 
	Suche</a></p>
	<p><input type="submit" value="Absenden" name="B1"><input type="reset" value="Zurücksetzen" name="B2"></p>
</form>

</body>

</html>

Seite: links.htm

HTML:
<html>

<head>
<title>Links</title>
</head>

<body>

<p><a href="#" onclick="self.close()">Hamburg</a></p>
<p><a href="#" onclick="self.close()">Bremen</a></p>
<p><a href="#" onclick="self.close()">Berlin</a></p>
<p><a href="#" onclick="self.close()">Köln</a></p>
<p><a href="#" onclick="self.close()">München</a></p>

</body>

</html>

ich denke als erstes mus ich jedem link eine info mit geben was für ein Ziel-Feld gemeint ist:

href="links.htm" <- href="links.htm?feld1"

oder mach ich das schon per Java?


Das eingentliche Formular sollte nicht neu geladen werden, bei der Übergabe von Daten.

vielen Dank.
 
Hi,

du kannst den einzelnen Links Werte über die URL mitgeben, anhand derer du im neuen Fenster
die Feldnamen aus einem Array entnimmst. So kannst du die Werte nach einer Auswahl in die richtigen
Felder des Startfensters schreiben.

formular.htm:
HTML:
<html>

<head>
<title>Formular</title>
<script language="JavaScript">
<!--
function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
//  End -->
</script>
</head>

<body>

<form method="POST" action="save.htm">
	<p><b>Formular</b></p>
	<p align="left"><input type="text" name="feld1" size="20"><a onclick="NewWindow(this.href,'name','340','280','yes');return false;" href="links.htm?0">
	Suche</a></p>
	<p><input type="text" name="feld2" size="20"><a onclick="NewWindow(this.href,'name','340','280','yes');return false;" href="links.htm?1">
	Suche</a></p>
	<p><input type="text" name="feld3" size="20"><a onclick="NewWindow(this.href,'name','340','280','yes');return false;" href="links.htm?2">
	Suche</a></p>
	<p><input type="submit" value="Absenden" name="B1"><input type="reset" value="Zurücksetzen" name="B2"></p>
</form>

</body>
Im Dokument des neuen Fensters werden die Parameter aus der URL extrahiert und dienen als
Indices des Feldnamen-Arrays.

links.htm
HTML:
<html>
<head>
<title>Links</title>
<script type="text/javascript">
<!--
// Array mit den Feldnamen entsprechend ihrer Wertübergabe in der URL
var arrFelder = new Array("feld1", "feld2", "feld3");
// Falls ein Parameter über die URL mitgegeben wurde
if(window.location.search != ""){
  varIndex = window.location.search.substring(1,window.location.search.length);
}
 //-->
</script>
</head>

<body>
  <p><a href="#" onclick="opener.document.getElementsByName(arrFelder[varIndex])[0].value = 'Hamburg'; self.close()">Hamburg</a></p>
  <p><a href="#" onclick="opener.document.getElementsByName(arrFelder[varIndex])[0].value = 'Bremen'; self.close()">Bremen</a></p>
  <p><a href="#" onclick="opener.document.getElementsByName(arrFelder[varIndex])[0].value = 'Berlin'; self.close()">Berlin</a></p>
  <p><a href="#" onclick="opener.document.getElementsByName(arrFelder[varIndex])[0].value = 'Köln'; self.close()">Köln</a></p>
  <p><a href="#" onclick="opener.document.getElementsByName(arrFelder[varIndex])[0].value = 'München'; self.close()">München</a></p>
</body>
</html>
Ich hoffe, das hilft dir weiter.

Ciao
Quaese
 
Hallo,

danke. Das meiste spielt sich also in der links.htm ab. Technisch hab ich das verstanden. Es läuft prima. Und ich hab das ganze in leufähig nach konstruieren können.

Vielen Dank!

Ich habe aber noch eine frage: Ist es möglich, wenn schon eine eingabe in einem Formular-Feld steht diese als Parameter-Variable auch an die Link-Seite zu über geben z.B. als Suchwort?

noch eine frage:

kann ich bei diesen aufruf auch noch einen weiteren wert übergeben?

links.htm?0 z.B. links.htm?0&modus=search

oder ähnlich.

Geht das ?
 
also, mal das mit 2 Parametern:

rufendes Fenster
Javascript:
window.open("newpage.htm?hallo=12&du=10","child","500,500");

gerufenes Fenster
Javascript:
window.onload = new Function()
        {
            var result = window.location.search; 
            result = result.replace("?","");
            resarr = result.split("&");
            alert(resarr[0] + "   <--||-->   " + resarr[1]);
        }

du kannst jetzt im rufenden Fenster beliebig viele Werte mitgeben, und sie würden, nach deisem Beispeil in resarr[0] bis Anzahl der Parameter - 1 stehen, damit musst du dann halt selber weiterarbeiten.

Das mit den Parametern übergeben, ist auch kein Problem, du müsstest nur die ganzen Formularfelder durchsuchen und prüfen ob was drin steht oder nicht, wenn ja, hängst du es als Parameter an die URL, wenn nein lässts weg, an sich keine hexerei, wenn jedoch Probleme auftreten kannst ja gerne fragen ;)

lg Masda
 
Hallo,
noch mals vielen Dank. Eines hab ich noch:

onclick="opener.document.getElementsByName(arrFelder[<%=(feld)%>])[0].value = '<%=rs("id")%>'; self.close()"

wie muss ich das anpassen um zwei variabellen das has haupt fenster zu übergeben?

mit:

onclick="opener.document.getElementsByName(arrFelder[<%=(feld)%>])[0].value = '<%=rs("id")%>(arrFelder[<%=(feld)%>])[1].value = '<%=rs("wert2")%>'; self.close()" geht das nicht.
 
ich versteh zwar nicht so ganz was jetzt dein Problem ist, aber ich versuch mal ne Antwort zu finden :D

also, zwei Felder im Hauptfenster ändern:
Code:
opener.document.getElementByID/Tagname/wasauchimmer(feld1).value = parameter1;
opener.document.getElementByID/Tagname/wasauchimmer(feld2).value = parameter2;

hoffe das is Verständlich - und, wenn noch fragen sind, solltest du das erledigt wieder wegklicken, dass man sieht dass dieses Thema noch nicht abgeschlossen ist ^^

lg
 
Hallo,

danköschön das war das was ich gemeint habe.

Das mit den Erledigt habe ich auch versatand danke für den Hinweis.;-)
 

Neue Beiträge

Zurück