繁体   English   中英

动态地将新记录添加到MySQl - 淡出旧显示,但更新的数据不会淡入

[英]Dynamically Adding New Record To MySQl - Fade Out Old Display Fine But Updated Data Doesn't Fade In

我将尝试尽可能准确地解释我的问题,我不认为JSFiddle会在这种情况下提供帮助。

我所拥有的是一个页面,其中显示了数据库表的所有记录,以及一个用于添加新记录的表单。

填写并提交表单后,新记录将正确添加到数据库中,旧的html表将逐渐淡出,以允许新表淡入但这是它中断的地方,我留下了一个空白部分表应该在哪里。

适当的代码如下:

gigs.php:

$(".comment_button").click(function() {

$('#gigs').fadeOut(1000).empty();

var dateval = $("#date").val();
var venueval = $("#venue").val();
var timeval = $("#time").val();
var untilval = $("#until").val();
var mapval = $("#map").val();


var dataString = 'date='+ dateval + '&venue='+ venueval + '&time='+ timeval + 'until='+ untilval + 'map='+ mapval;

if(dateval=='')
{
    alert("Please select the date of the gig");
}
else if(venueval=='')
{
    alert("Please enter a venue");
}
else if(timeval=='')
{
    alert("Please select a start time");
}
else if(untilval=='')
{
    alert("Please enter a finish time");
}
else
{
    $("#flash").show();
    $("#flash").fadeIn(400).html('<img src="images/loading.gif" align="absmiddle">&nbsp;<span class="loading">Updating Gigs...</span>');

    $.ajax({
        type: "POST",
        url: "add-gigs.php",
        data: dataString,
        cache: false,
        success: function(html){
            $("gigs").prepend(html).fadeIn(1000);
            $("#flash").fadeOut(1000);  
        }
    });
}
return false;
});
});

添加新记录的表单:

<form  method="post" name="form" action="">
                <fieldset>
                <legend>Add Gig</legend>
                <span class="add-gig-label-venue">Venue:</span>  <input type="text" name="venue" id="venue" maxlength="100" /><br />
                <span class="add-gig-label-date">Date:</span>  <input type="text" name="date" id="date" maxlength="10" />
                <span class="add-gig-label-start">Start Time:</span>  <input type="text" name="time" id="time" maxlength="5" />
                <span class="add-gig-label-end">End Time:</span>  <input type="text" name="until" id="until" maxlength="5"/> <br />
                <span class="add-gig-label-map">Google Maps URL:</span>  <input type="text" name="map" id="map" />
                <input type="submit"  value="Add Gig"  id="v" name="submit" class="comment_button"/>
                </fieldset>
            </form>

在这下面是一个div来显示一个名为flash的ajax加载gif以及显示当前记录的表:

<div id="flash" align="left" ></div>
<div id="gigs"> <!-- div that is emptied -->
<!-- Start the table -->
<table class="gig-table" cellspacing="0" cellpadding="0">
<!-- table data -->
</table>
</div> <!-- end 'gigs' div -->

另一个文件add-gigs.php只是接受POST变量并创建了一个MySQL查询来插入新记录,然后就像在另一个文件中那样拥有相同的PHP代码,但显然这个现在将包括新的添加了行。

这张桌子让我无法淡出。

我希望这是有道理的,否则我会尝试进一步阐述。

你在$("gigs")忘记了“#”

    success: function(html){
        $("#gigs").prepend(html).fadeIn(1000);
        $("#flash").fadeOut(1000);  
    }

就像$("gigs") ,它意味着在页面上寻找<gigs>元素。 “#”前缀表示按“id”值查找元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM