0

パラメータを受け取り、対応する入力フィールドに入力するページがあります。これらのパラメーターを使用して、コンテンツをロードするために jquery 関数が呼び出されます。現在、jquery のドキュメントには、「DOM が読み込まれるとすぐに、ページのコンテンツが読み込まれる前に、その中のすべてが読み込まれます」と記載されています。

ドキュメントの準備ができているようです。渡された get 値は既にわかっています。しかし、後でページのコンテンツが読み込まれると、「loadContent」関数を呼び出したときにテキストフィールドの値が入力されない可能性はありませんか? それともDOMをロードすることですでにわかっていますか?以下のスクリプトは正常に動作しますが、常にそうなるのはなぜでしょうか?

<html>
<head><title></title></head>
<body>
<?php
if(isset($_GET['test'])){
    echo '<input type="text" id="test" name="test" value="' . $_GET['test'] . '">';
}else{
    echo '<input type="text" id="test" name="test">';
}
?>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
   alert($("#test").val());
   loadContent($("#test").val());
});
</script>
</body>
</html>
4

1 に答える 1

0

関連する HTML パーツを既に出力した後で、スクリプトを呼び出しています。.ready() 関数も必要ないと思います。その時点でスクリプトを実行するだけです。しかし、より良い方法は

<script>
$(window).load( function(){
    ...
});
</script>

head タグ内。

于 2013-03-16T06:00:53.723 に答える