0

これが私の完全なスクリプトです...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()」関数を組み合わせるにはどうすればよいですか?

4

1 に答える 1

0

あなたのjs関数が大丈夫なら、私は本当にsubmit()を見たいです、これを試してください:

1)フォームにIDを追加します。id='notes'

2)次のコードでdeonblurを変更します。

onblur="saveScrollPositions(document.getElementById('notes')); submit();" 

ここで機能的な例を見ることができます

于 2012-06-13T11:48:34.770 に答える