gpt4 book ai didi

javascript - 使用 jQuery 隐藏/显示功能时,表单提交按钮不起作用

转载 作者:行者123 更新时间:2023-11-28 04:17:42 24 4
gpt4 key购买 nike

我有表单,用户可以使用 jQuery 显示/隐藏它。

问题:用户单击显示/隐藏(箭头图标)后,表单提交将仅运行一次。我的意思是,当我单击表单提交按钮之后,该按钮不起作用。

我发现的内容:URL 中似乎有“#”与此问题相关。

如何解决这个问题?

Jsfiddle:https://jsfiddle.net/damithruwan1234/t795ewx3/2/ (你不能由此测试它,因为 jsfiddle 不允许 get 方法)

完整代码:

<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">

<script>
$(document).ready(function(){

$("#hide_search").click(function(){
$("#search_panel").hide(1000);
$("#show_search").show();
$("#hide_search").hide();
});

$("#show_search").click(function(){
$("#search_panel").show(1000);
$("#show_search").hide();
$("#hide_search").show();
});
});
</script>


</head>
<body>

<div class="container">
<h2>Vertical (basic) form</h2>
<div class="col-sm-8 col-sm-offset-2" id="search_panel">
<form action="">
<div class="form-group">
<label for="email">Email:</label>
<input type="text" class="form-control" id="email" value="dfdf" placeholder="Enter email" name="email">
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="text" class="form-control" id="pwd" value="ssds" placeholder="Enter password" name="pwd">
</div>
<div class="checkbox">
<label><input type="checkbox" name="remember"> Remember me</label>
</div>
<input type="submit" class="btn btn-info" value="SEARCH">
</form>
</div>
</div>

<div class="col-sm-8 col-sm-offset-2">
<a href="#" id="hide_search">
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fa fa-angle-up fa-stack-1x fa-inverse"></i>
</span>
</a>

<a href="#" id="show_search" style="display: none;">
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fa fa-angle-down fa-stack-1x fa-inverse"></i>
</span>
</a>
</div>

</body>
</html>

最佳答案

在隐藏/显示点击事件上添加preventDefault()。使用以下修改后的脚本。 (实际问题是,当您单击隐藏/显示按钮时,它会在 URL 上添加“#”,这就是为什么无法使用“获取”方法提交表单的原因)

$("#hide_search").click(function(e){
e.preventDefault();
$("#search_panel").hide(1000);
$("#show_search").show();
$("#hide_search").hide();
});

$("#show_search").click(function(e){
e.preventDefault();
$("#search_panel").show(1000);
$("#show_search").hide();
$("#hide_search").show();
});

关于javascript - 使用 jQuery 隐藏/显示功能时,表单提交按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45689454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com