好的,所以我有一個窗體,它有幾組字段,如Facebook帳戶設置編輯,以顯示您點擊它時。Jquery顯示和隱藏導致表單提交
<form id="test" action="#" method="POST">
<ul class="items">
<li>
<button class="show-content-button">Show</button>
<div class="form-content ui-helper-hidden">
Hello
</div>
</li>
<li>
<button class="show-content-button">Show</button>
<div class="form-content ui-helper-hidden">
Hello
</div>
</li>
<li>
<button class="show-content-button">Show</button>
<div class="form-content ui-helper-hidden">
Hello
</div>
</li>
</ul>
</form>
<script type="text/javascript">
$(function() {
$("form#test").submit(function() {
alert("hello i have been submitted");
})
$(".show-content-button").click(function() {
var $button = $(this);
if ($button.text() === "Show") {
$(".form-content", $button.parent()).fadeIn(400);
$button.html("Hide");
} else if ($button.text() === "Hide") {
$(".form-content", $button.parent()).fadeOut(200);
$button.html("Show");
}
})
})
</script>
當我點擊其中一個節目時,它會導致表單被提交......爲什麼?我可以通過在按鈕單擊事件上返回false來解決這個問題,但是,我覺得這是一個黑客而不是解決方案。任何人幫助?
讓我試試這個東西 – Michael 2011-05-30 23:07:11
你是對的我的朋友。這是奇怪的默認行爲,有點愚蠢。哦,好吧。我喜歡我的按鈕方式,因爲它使按鈕內的HTML樣式變得容易。感謝您的正確解決方案! – Michael 2011-05-30 23:16:21