scrollposition an php übergeben (durch javascript und formular)
Matthias L.
- php
hallo allerseits
warum funktioniert diese script nicht? (vorerst auf Mac OSX, IE5.2 )
<html>
<head>
<script language="JavaScript">
<!--
//-->
</script>
</head>
<body leftmargin="200" topmargin="200" rightmargin="2000" bottommargin="1000" onLoad="scrollTo(20,50);">
<form action="test31_forum.php" name="formular" >
<input type="hidden" name="sent" value="ja">
<input type="hidden" name="feldA">
<input type="hidden" name="feldB">
<input type="submit" value="scroll position ermitteln" >
</form>
<script type="text/Javascript">
<!--
document.formular.feldA.value=document.body.scrollLeft;
document.formular.feldB.value=document.body.scrollTop;
-->
</script>
<?
if ($sent=="ja")
{
echo '<h2> scrollpositionen </h2>';
echo 'x='.$feldA.' y='.$feldB;
}
?>
</body>
</html>
bei'document.formular.feldB.value=3;' funktionierts
und ein korrektes resultat liefert mir 'document.body.scrollLeft;' auch, zb
<script type="text/Javascript">
<!-- function meldung()
{alert(document.body.scrollLeft);}
-->
</script>
<a href="javascript:meldung()">alert</a>
ich hoffte schon mal auf hilfe, hab aber bis jetzt noch keine bekommen (siehe eintrag 'Matthias vom 23. 01. 2003, 23:53')
vielen dank für eure hilfe
hi,
bin mir nicht ganz sicher, was Du erreichen willst. _So_ kannst Du jedenfalls im Mozilla und IE die aktuelle Scrollposition als Parameter versenden:
<html>
<head>
<script type="text/Javascript">
function setVal() {
alert(document.body.scrollLeft + ", " + document.body.scrollTop);
document.formular.feldA.value=document.body.scrollLeft;
document.formular.feldB.value=document.body.scrollTop;
}
</script>
</head>
<body>
<br><br><br><br><br><br>test<br><br><br><br><br><br>test<br><br><br><br><br><br>test<br><br><br><br><br><br>test<br><br><br><br><br><br>test<br><br><br><br><br><br>test<br><br><br><br><br><br>test<br><br><br><br><br><br>test<br><br><br><br><br><br>test<br><br><br><br><br><br>test<br><br><br><br><br><br>test<br><br><br><br><br><br>test<br><br><br><br><br><br>test<br><br><br><br><br><br>test<br><br><br><br><br><br>test<br><br><br>
<form action="untitled.html" name="formular" onsubmit="setVal(); return true;">
<input type="hidden" name="sent" value="ja">
<input type="hidden" name="feldA">
<input type="hidden" name="feldB">
<input type="submit" value="scroll position ermitteln" >
</form>
</body>
</html>
Btw: Mehrfachpostings sind hier nicht so gerne gesehen, und werden meist mit Missachtung gestraft. Etwas Geduld muss schon sein. Konkrete Aussagen erhoehen uebrigens die Wahrscheinlichkeit, konkrete Hilfe zu erhalten.
warum funktioniert diese script nicht? (vorerst auf Mac OSX, IE5.
... ist reichlich wage, denn da Du unter "PHP" schreibst, muss man erst zweimal nachdenken um darauf zu kommen, dass Du wohl eher JS Problem hast.
In diesem Sinne Joachim
hallo joachim
danke für deine hilfe und forumnutzerhinweise (bin neu hier)
funktioniert leider nicht :(
bin mir nicht ganz sicher, was Du erreichen willst.
ich habe ein virtuelles spielbrett, welches grösser als der bildschirm ist. am rand dieses spielbrettes gibts links, welche zum nachbarspielbrett führen. dieses nachbarbrett ist dasselbe script, jedoch mit anderem inhalt (eben dank php).
um nun nach dem wechsel zu nachbarbrett auf der entsprechenden scrollpostition zu sein, benötige ich die scrollposition der fenstereinstellung vor dem klick auf den link.
(link > reload der seite mit neuem inhalt > automatisches scrollen zur vorherigen position)
wenn ich die scrollposition des mutterfensters ermitteln will, dann funktionierts:
<script type="text/Javascript">
<!--
x=0;
x=opener.document.body.scrollLeft;
y=0;
y=opener.document.body.scrollTop;
-->
</script>
<form name="mail_form" action="<? echo $SELF_PHP;?>">
<input type="hidden" name="h_wert">
<input type="hidden" name="v_wert">
<input type="submit">
</form>
<script type="text/Javascript">
<!-- dieses script muss (angeblich) nach der tabelle stehen
document.mail_form.h_wert.value=x;
document.mail_form.v_wert.value=y;
-->
</script>
ich weiss nicht, weshalb mein script (siehe originalfrage) und nicht mal dein untenstehendes (zu testzweck gekürztes) funktioniert.
<script type="text/Javascript">
function setVal() {
alert(document.body.scrollLeft + ", " + document.body.scrollTop);
}
</script>
<form action="" name="formular" onsubmit="setVal(); return true;">
<input type="submit" value="scroll position ermitteln" >
</form>
gibts probleme mit der gleichzeitigen verabeitung von formular und dem aufrufen der nächsten seite? wird die seite schon neu geladen, bevor die werte in das formular eingetragen werden konnte?
vielen dank
matthias