vielen Dank für den Tip, probiere ich aus.
Du brauchst Dich nicht zu entschuldigen! Ich bin froh, dass Du mir Tips gibst
vielen Dank für den Tip, probiere ich aus.
Du brauchst Dich nicht zu entschuldigen! Ich bin froh, dass Du mir Tips gibst
Hi,
ich möchte, dass beim mouseover bestmmter Felder in einer Tabelle, ein Fenster mit zusätzlichen Infos aufgeht.
Dazu habe ich eine JS-function erstellt:
function fenster()
{
window.open("bild.php","Fenstername","toolbar=no,scrollbars=no,width=400,height=200");
}
des weiteren habe ich ein div-element mit folgenden Eigenschaften erstellt:
"this.style.backgroundColor='#" . HELLEHINTERGRUNDFARBE . "';this.style.cursor='" . $cursor . "';javascript:fenster();";
style und cursor werden befolgt, das script nicht.
Kann mir jemand vielleicht einen Tip geben, was ich da berichtigen muss?
Vielen Dank
hat sich geklärt: da war 1 Punkt zuviel
ich habe den Teil mit dem Formular durch ein Formular ersätzt, das in seiner ursprünglichen Umgebung funktioniert. Bei mir klappt es denn nicht.
Kann es sich um ein Problem auf meinem Rechner handeln? Wenn ich die Seite <!-- w --><a class="postlink" href="http://www.webflips.de">http://www.webflips.de</a><!-- w --> aufrufe, funktioniert der Focus der dortigen Formulare problemlos.
Java ist ja lokal bei mir installiert. Ein Versions-Konflikt müsste ja in beiden Fällen auftreten.
Das Script erkennt, dass ein 'hauptformular' vorliegt. Rufe ich eine Seite auf, die keines hat, steht das entsprechend in der Fehlermeldung des IE.
ich arbeite mit eclipse, das zeigt mir die Zeilen schon an, aber der Aufruf erfolgt über mehrere Dateien.
Die Fehlermeldung erhalte ich vom IE. Ich habe mir jetzt noch den Firefox installiert. Da kommt zwar keine Fehlermeldung, aber funktionieren tut es auch nicht.
Da ich lokal arbeite, kann ich Dir keine URL geben. Ich beschränke mich im Folgenden auf die relevanten Code-Ausschnitte:
Index.php:
...
?>
<!-- Javascript-Datei mit Basisfunktionen, die ueberall gebraucht werden koennen -->
<script language="JavaScript" src="js/basis.js" type="text/javascript"></script>
<!-- Favicon (kleines Bild fuer die Adresszeile bzw. Lesezeichen) -->
<link rel="shortcut icon" href="favicon.ico" type="image/ico" />
<?php
// Die MouseOver-Bilder der Menue-Registerkarten werden mit JavaScript vorgeladen. Der Code
// hierfuer wird von dieser statischen Methode erzeugt.
echo Allgemein::ladeHovers($dbh);
?>
</head>
<body onload="hauptformular.Fokussieren();">
<!-- Anker fuer Links zum Anfang der Seite -->
<div id="oben"></div>
<a name="oben"></a>
...
Basis.js:
...
function hauptformularFokussieren(){
// Abkuerzung zum Formular
form = document.hauptformular;
if(form){
for(var i = 0; i < form.elements.length; i++){
if((form.elements[i].type == 'text' form.elements[i].type == 'textarea')
&& form.elements[i].value == ''){
form.elements[i].focus();
break;
}
}
}
}
...
logonlogoff-klasse.php:
...
public function ausgabelogin(){
$this->html = '
<form name="hauptformular" action="" method="post">
<table width="400" border="0">
<tr>
<td>
<strong>Benutzername</strong><br />
<input name="login[BenutzerName]" type="text" value="" style="width:130px; " />
</td>
</tr>
<tr>
<td>
<strong>Passwort</strong><br />
<input name="login[BenutzerPasswort]" type="password" style="width:130px;" />
</td>
</tr>
<tr>
<td>
<input name="aktion_login" type="submit" value="Login" style="margin-top:5px;" />
</td>
</tr>
</table>
</form>';
$this->html .='<br /> Sollten Sie noch keinen Login besitzen, lassen Sie sich bitte registrieren.<br />Ansonsten können Sie nicht alle Funktionen nutzen.';
}
...
der Inhalt von $html wird über folgende Funktion ausgegeben:
public function __toString(){
return $this->html;
}
Auf der Seite: <!-- w --><a class="postlink" href="http://www.webflips.de">http://www.webflips.de</a><!-- w --> kann man sehen, dass das Prinzip funktioniert. Test über Interaktiv - Gästebuch - neuer Eintrag
Ich glaube, dass da neben dem eigentlichen Code noch etwas sein muss.
Wie kann man beeinflussen, ob ein Objekt eine Methode unterstützt?
ich habe jetzt festgestellt, dass mir beim Aufruf dieser Seite eine Fehlermeldung gesandt wird:
Zeile 730
Zeichen 1
Fehler Das Objekt unterstützt diese Eigenschaft oder Methode nicht
Code 0
URL ...
Java-Script ist über die aufrufende Seite eingebunden.
Wenn ich Java-Script auf dieser Seite ein zusätzlich einbinde, bringt das auch nichts.
Wie kann ich die Zeile 730 auszählen? Wenn ich die Zeilennumer in der Index-Datei, auf der die Unterseite aufgerufen wird, mit der Zeilennummer der aufgerufenen Seite addiere, felen mir immer noch ca 100 Zeilen.
Dieser Code funktionert als eigenständige Seite einwandfrei.
Wenn sie aber, wie in meinem Fall über eine andere Anwendung aufgerufen wird, klappt das nicht. Ich schau mir mal das mal in Ruhe an. Vielleicht finde ich eine Möglichkeit, die Anweisung an anderer Stelle unterzubringen.
Vielen Dank
<body onLoad="this.document.login.login[BenutzerName].focus();">
<form name="login" action="" method="post">
<br />
<strong>Benutzername</strong><br />
<input id="focus" name="login[BenutzerName]" type="text" value="" style="width:130px; " /><br />
<strong>Passwort</strong><br />
<input name="login[BenutzerPasswort]" type="password" style="width:130px;" /><br />
<input name="aktion_login" type="submit" value="Login" style="margin-top:5px;" /><br />
</body>
Dieser Code steht in einer php-Datei. Das hieraus generierte Formular wird dann mit folgender Anweisung im entsprechenden Element geöffnet:
<!-- Der Inhaltsbereich der Website mit den Seiteninhalten der Untermenuepunkte -->
<div id="hauptteilinhalt">
<?php
// Falls "Login"-Klasse eine Fehler- oder Erfolgmeldung produziert hat, diese
// hier ausgeben in einer umrandeten Box
if($Login->fehlermeldung){
echo "<div class=\"fehler_box\">$Login->fehlermeldung</div>";
}
if($Login->erfolgsmeldung){
echo "<div class=\"erfolgs_box\">$Login->erfolgsmeldung</div>";
}
// Inkludieren der aktuellen Unterseite, der Pfad wurde in der Klasse "Tabs"
// generiert
if(is_file($Tabs->subpfad)){
require_once($Tabs->subpfad);
}
else{
if(ERRORS)
echo "<p>Die Datei <strong>$Tabs->subpfad</strong> konnte nicht gefunden " .
"werden.<br />" . FEHLERMELDEN . '</p>';
else
echo UNBEKANNTERFEHLER;
}
?>
</div>
Super, vielen Dank, Peter
Edit:
Moin,
hat leider nichts gebracht. Das Formular wird in einem div-Element eines Containers geöffnet. Wahrscheinlich wird solch eine Anweisung dann ignoriert.
Trotzdem Danke
Peter
Edit #2:
kann es sein, dass ein submit-button die focussierung automatisch auf sich zieht?
wenn ich mit bei Einbindung des scriptes enter drücke, habe ich den button im focus.
ich möchte eine schelle Datenerfassung ermöglichen.
Normalerweise steht der Cursor ja in der Taskleiste des Browsers und man muss erst in das erste Erfassungsfeld klicken - oder zig-mal Tab drücken. Das dauert mir zu lange. Vor allem, wenn man mehrere Datensätze erfassen muss.
Guten Morgen,
ich bin auf der Suche nach einer Möglichkeit, beim Aufruf eines Formulars, den Cursor automatisch in einem bestimmten Feld zu positionieren.
Kann mir da jemand helfen?
Danke
Peter
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.