次の index.php を想像してください:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<form id="MY_FORM" action="./index.php" method="get">
<input name="var_name">
<input type="submit">
</form>
<!-- <div> -->
<div id="MY_CONTENT">
<?php
var_dump( $_GET );
?>
</div>
<!-- </div> -->
<script type="text/javascript">
$('#MY_FORM').submit(function()
{
var form = $(this);
$.get('./', form.serialize(), function(data)
{
var updated = $('#MY_CONTENT', data);
$('#MY_CONTENT').replaceWith(updated);
});
return false;
});
</script>
</body>
</html>
シンプルな AJAX フォームがあります。このフォームが送信されると、MY_CONTENT を AJAX で更新する必要があります (したがって、フォームの action="./index.php")。質問: MY_CONTENT div が別の div で囲まれている場合にのみコードが機能することがわかりました。
私は
<!-- <div> -->
<!-- </div> -->
MY_CONTENT あたり。スクリプトを機能させるには、これを div に変更する必要があります。
MY_CONTENT を div でラップする必要があるのはなぜですか?