Хорошо, у меня есть форма, и у нее есть несколько групп полей, например, для редактирования настроек учетной записи Facebook, которые будут отображаться при нажатии на нее.
<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 на событие нажатия кнопки, НО, я чувствую, что это взлом, а не решение.Кто-нибудь поможет?