Javascript .show()方法的工作方式与jquery中的工作方式不同
我有一个div,它在css中显示none(display:none;),但是当我使用jquery.show()方法时,它只在页面上闪烁一秒钟。这是我的html代码Javascript .show()方法的工作方式与jquery中的工作方式不同,javascript,jquery,Javascript,Jquery,我有一个div,它在css中显示none(display:none;),但是当我使用jquery.show()方法时,它只在页面上闪烁一秒钟。这是我的html代码 <center><div style="margin-top:100px;margin-bottom:100px;border:1px solid black;"> <div class="logIn" id="login"> <form action="Login.p
<center><div style="margin-top:100px;margin-bottom:100px;border:1px solid black;">
<div class="logIn" id="login">
<form action="Login.php" method="post" name="login">
<h4> Log into your Irokko Account </h4><br/>
Username:<br/>
<input type="text" name="username"><br/><br/>
Password:<br/>
<input type="password" name="password"><br/><br/>
<input type="submit" value="Log In" name="login"> <input id = "create" type="submit" name="account" value="Create Account"> </form>
<a href="#ForgotPassword" style="font-size:12px; color:blue;text-decoration:underline">Forgot Password</a> <br><br/>
<div id="ForgotPassword" class="modalDialog">
<div>
<a href="Login.php" title="Close" class="close">X</a>
<h2>Retrieve Password</h2>
<form action="Login.php" method="post" name="login">
<p>Please enter your email address to retrieve your password.</p><br/><br/>
<input type="email" name="email" size="65"><br/><br/>
<input type="submit" value="Send" ><br><br>
</form>
</div>
</div>
</div><br><br>
<div id="signup" class="hide">
<form action="login.php" method="post" name="signup" onSubmit="return validatesignup();">
Confirm Password:<br/>
<input type="password" name="confirmpassword" size="40"><br/><br/>
Account Type:<br/>
<select name="accounttype" class="width">
<option></option>
<option>Advertiser</option>
<option>Publisher</option>
</select><br/><br/>
Company Name:<br/>
<input type="text" name="companyname" size="40"><br/><br/>
Email address:<br/>
<input type="email" name="email" size="40"><br/><br/>
Country:<br/>
<input type="text" name="country" size="40"><br/><br/>
<input type="submit" name="createaccount" value="Create Account"><br><br>
下面是jquery代码
$(document).ready(function(){
$(".hide").hide();
$("#create").click(function(){
$(".hide").show();
});
});
如果“#create”来自其他来源,请尝试此操作:
创建按钮是
type=“submit”
。您需要在表单的“提交”事件中调用event.preventDefault()(使该事件回调采用名为event
的参数),或者使用id=“create”将该输入更改为type=button
我会将其更改为type=“button”
,因为我怀疑您是否希望按“回车”键来创建。如果在表单中按enter键,则默认为提交按钮
create表单“消失”,因为create按钮的submit(re)加载了
login.php
页面。为什么不删除。完全隐藏类并以元素#create
为目标,如下所示:
$(document).ready(function(){
$("#signup").hide();
$("#create").click(function(){
$("#signup").show();
});
});
您在包含的HTML中没有任何ID为“create”的元素,但您的单击处理程序被分配给了具有该ID的元素。请在关闭div和form的位置发布完整的问题。您没有div。hide“在代码中,我要求您输入正确的代码。它位于名为loginsorry Paulo的div中,我尝试了一些东西,我把它取了下来,但是我现在已经把它放在那里了。创建id是从另一个来源读取的。我现在将在这里发布完整的代码。非常感谢你。我已经得到了所需的响应。您刚才所说的有道理,login.php页面会重新加载,但我无法使用type=“button”,因为我正在提交数据库,因此可能会给我带来问题。不过,我会试试这个活动。preventDefault()非常感谢doug65536。这件事成功了。我的搭档告诉你你是一个伟大的程序员,一个天才。我们非常高兴。再次感谢。
$(document).ready(function(){
$(".hide").hide();
$(document).on('click','#create',function(){
$(".hide").show();
});
});
$(document).ready(function(){
$("#signup").hide();
$("#create").click(function(){
$("#signup").show();
});
});