使用 jQuery 时页面重新加载?
Page reloading when using jQuery?
所以我目前正在尝试对我的页面进行编码,以允许隐藏的 div 显示基于按下的按钮。
我知道我的代码有效,按下的第一个按钮显示隐藏的 div。但是当我按下第二个按钮时,它会立即显示,然后重新加载页面。我不希望它重新加载。
<script>
$(document).ready(function () {
$(".button1").click(function () {
$(".new-post-mid").css("display", "block");
});
});
</script>
<script>
$(document).ready(function () {
$(".button2").click(function () {
$(".new-post-mid2").css("display", "block");
});
});
</script>
</div> <!-- navbar -->
<div class="new-post-outer">
<div class="new-post-outish">
<button class="button1">Edit your account details</button>
<li> Fields marked with an asterisk (*) are required.</li>
</div>
<div class="new-post-mid">
<form class="abc">
<label> Please enter your password to change your settings.</label>
<label> Password: </label>
<label> Repeat Password: </label>
<label> Please complete the captcha: </label>
<button class="button2">Submit</button>
</form>
</div>
<div class="new-post-mid2">
<form class=abc>
<label> Username: (*) </label>
<label> Email Address: (*) </label>
<label> First Name: </label>
<label> Last Name: </label>
</form>
</div>
</div><!-- new-post-outer-->
只需使用 e.preventDefault() 或如@Tyler Roper 在评论中所述,您只需将按钮更改为 <input type="button ... />"
您遇到的问题是由处理表单提交操作的按钮控件引起的。
...
$(document).ready(function () {
$(".button2").click(function (e) {
e.preventDefault()
$(".new-post-mid2").css("display", "block");
});
});
...
所以我目前正在尝试对我的页面进行编码,以允许隐藏的 div 显示基于按下的按钮。 我知道我的代码有效,按下的第一个按钮显示隐藏的 div。但是当我按下第二个按钮时,它会立即显示,然后重新加载页面。我不希望它重新加载。
<script>
$(document).ready(function () {
$(".button1").click(function () {
$(".new-post-mid").css("display", "block");
});
});
</script>
<script>
$(document).ready(function () {
$(".button2").click(function () {
$(".new-post-mid2").css("display", "block");
});
});
</script>
</div> <!-- navbar -->
<div class="new-post-outer">
<div class="new-post-outish">
<button class="button1">Edit your account details</button>
<li> Fields marked with an asterisk (*) are required.</li>
</div>
<div class="new-post-mid">
<form class="abc">
<label> Please enter your password to change your settings.</label>
<label> Password: </label>
<label> Repeat Password: </label>
<label> Please complete the captcha: </label>
<button class="button2">Submit</button>
</form>
</div>
<div class="new-post-mid2">
<form class=abc>
<label> Username: (*) </label>
<label> Email Address: (*) </label>
<label> First Name: </label>
<label> Last Name: </label>
</form>
</div>
</div><!-- new-post-outer-->
只需使用 e.preventDefault() 或如@Tyler Roper 在评论中所述,您只需将按钮更改为 <input type="button ... />"
您遇到的问题是由处理表单提交操作的按钮控件引起的。
...
$(document).ready(function () {
$(".button2").click(function (e) {
e.preventDefault()
$(".new-post-mid2").css("display", "block");
});
});
...