これが私の完全なスクリプトです...test.phpを作成してスローするだけです。
次のようになります。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script language="javascript" type="text/javascript" src="<?php echo '' . $site_url . '' ?>includes/libary.js"></script>
<script type="text/javascript">
function saveScrollPositions(theForm) {
if(theForm) {
var scrolly = typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement.scrollTop;
var scrollx = typeof window.pageXOffset != 'undefined' ? window.pageXOffset : document.documentElement.scrollLeft;
theForm.scrollx.value = scrollx;
theForm.scrolly.value = scrolly;
}
}
</script>
</head>
<body>
<div style="padding: 200px 0 200px 0;">
<?php
$notes = $_POST['internal_notes'];
$bonid = $_POST['reciept_id'];
echo '<form name="notes" method="post" action="test.php" onsubmit="return saveScrollPositions(this);">';
echo '<input type="hidden" name="scrollx" id="scrollx" value="0" />';
echo '<input type="hidden" name="scrolly" id="scrolly" value="0" />';
echo '<input type="hidden" name="reciept_id" value="' . $_POST['reciept_id'] . '">';
echo '<textarea name="internal_notes">';
if ($_POST['internal_notes'] == '') {
echo 'No internal notes.';
} else {
echo $_POST['internal_notes'];
}
echo '</textarea>';
echo '<input type="submit" name="submit" value="Save">';
echo '</form>';
$scrollx = 0;
$scrolly = 0;
if(!empty($_REQUEST['scrollx'])) {
$scrollx = $_REQUEST['scrollx'];
}
if(!empty($_REQUEST['scrolly'])) {
$scrolly = $_REQUEST['scrolly'];
}
?>
</div>
<script type="text/javascript">
window.scrollTo(<?php echo "$scrollx" ?>, <?php echo "$scrolly" ?>);
</script>
これは正常に機能します。[保存]を押すと、投稿され、ページがスクロール位置に戻ります。ただし、送信ボタンを削除したいので、挿入にはonblur = "submit();"を使用します。「internal_notes」フィールド。
しかし...これは機能しません。送信と「saveScrollPositions()」関数を組み合わせるにはどうすればよいですか?