<script type="text/javascript">
$(document).ready(function($){
$.supersized({
//Background image
slides : [ { image : 'images/pendulumWeb.jpg' } ]
});
$("form#submit").submit(function() {
// we want to store the values from the form input box, then send via ajax below
var email = $('#email').attr('value');
$.ajax({
type: "POST",
url: "ajax.php",
data: "email="+ email,
success: function(){
$('form#submit').hide(function() {
$('div.success').fadeIn();
});
}
});
return false;
});
});
</script>
<div id="contact">
<form id="submit" method="post">
<legend>Enter InformationEnter InformationEnter InformationEnter InformationEnter InformationEnter InformationEnter InformationEnter Information</legend>
<div id="submit">
<input id="email" name="email" value="Email Address" size="20" type="text" />
<button class="buttonPositive" type="submit">Submit</button>
</div>
</form>
<div class="success" style="display: none;">We will email you shortly.</div>
</div>
我很难弄清楚为什么当我点击提交按钮时,为什么我的成功后的文字(fadeIn)不会出现在提交按钮下方。我正在进行测试的控制台日志,但它会停在$('form#submit').hide(function()
下面的控制台。也许我在这里错过了一些简单的东西?问题解决了!谢谢亚当
还有一件事!我的数据没有进入我的数据库..这是我的代码..我的主要ID为0,但没有数据。
// This is config.php //
$sql = mysql_connect("localhost","root","");
if (!$sql)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("test", $sql);
//
include('config.php');
// CLIENT INFORMATION
$email = htmlspecialchars(trim($_POST['email']));
$addClient = "INSERT INTO clientEmails (Email) VALUES ('$email')";
mysql_query($addClient) or die(mysql_error());
答案 0 :(得分:1)
尝试将回调函数移至hide()
:
$('form#submit').hide();
$('div.success').fadeIn();
此外,您有一个具有相同ID的表单和div。我建议您应该更改其中一个,因为这可能是导致您的成功消息无法显示的原因。
广告@米
答案 1 :(得分:0)
jQuery中的hide()
function将函数作为第二个参数。第一个参数是隐藏元素的动画的持续时间。如果您只想隐藏没有动画的提交按钮,则无需使用回调,只需调用hide()
然后fadeIn()
新元素即可。如果您确实需要动画,请将持续时间指定为第一个参数。
答案 2 :(得分:0)
hide is a duration的第一个参数,第二个参数是回调:
$('form#submit').hide(0, function() {
$('div.success').fadeIn();
});