想象一下以下 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 表单。提交此表单后,应使用 AJAX 刷新 MY_CONTENT(因此表单的 action="./index.php")。问题:我发现代码只有在 MY_CONTENT div 包含在另一个 div 中时才有效。
我把
<!-- <div> -->
<!-- </div> -->
在 MY_CONTENT 附近。这必须更改为 div 才能使脚本正常工作。
为什么必须将 MY_CONTENT 包装在 div 中?