我正在使用PHP和JQuery創建一個網站,並進入問題rearding形式。不能理解爲什麼我的網站保持導航到其索引頁?
例如,我的index.php如下所示:
<body>
<?php
echo "<div id=\"web_Page\">";
require("public/templates/header.php");
require("public/templates/menu.php");
require("public/templates/home.php");
require("public/templates/footer.php");
echo "</div>";
?>
</body>
它然後加載頁眉,頁腳,菜單區和起始頁。使用JavaScript代碼
<div id="web_Page">
<div id="web_Header">
//contents of header.php loaded into this div//
</div>
<div id="web_Menu">
//contents of menu.php loaded into this div//
</div>
<div id="web_Contents">
//contents of home.php loaded into this div//
</div>
<div id="web_Footer">
//contents of footer.php loaded into this div//
</div>
</div>
菜單項,然後裝入web_contents DIV區域:
$('#web_Menu a').click(function(e)
{
e.preventDefault();
$('#web_Content').load($(this).attr('href'), function()
{
});
});
已加載的文件也被包圍在DIV區域,以便最終的index.php呈現像這樣
現在,代碼將從菜單中選擇的所有頁面加載到web_Contents div區域。但是我現在創建了一個名爲register.php的頁面,它有一些非常意想不到的功能。下面是它呈現的HTML,它也將在web_Contents加載DIV面積:
<div id="reg_Div">
<form id="reg_Form>
<label>Desired Username: </label><input type="text" name="uname" id="uname" />
<button>Register</button>
</form>
</div>
index.php頁面將被呈現:
<div id="web_Page">
<div id="web_Header">
//contents of header.php loaded into this div//
</div>
<div id="web_Menu">
//contents of menu.php loaded into this div//
</div>
<div id="web_Contents">
<div id="reg_Div">
<form id="reg_Form>
<label>Desired Username: </label><input type="text" name="uname" id="uname" />
<button>Register</button>
</form>
</div>
</div>
<div id="web_Footer">
//contents of footer.php loaded into this div//
</div>
</div>
的問題是,即使這個表單沒有功能,按鈕也沒有,只要點擊按鈕,網站導航到index.php頁面。我真的不明白爲什麼?
任何人都可以看到爲什麼代碼會導致觸發按鈕導航到index.php。另外,由於index.php只是require()頁面的集合,並且register.php也在那裏加載,導致頁面自動丟棄包含register.php的web_Contents div並將其替換爲home的內容。 PHP的?
這真的讓我困惑?
任何反饋將不勝感激。 謝謝。
你可以把聽者在提交事件太...: '$( 'reg_Form')提交(函數(){ e.preventDefault();返回false; });'。 – 2011-04-11 17:30:51