单击按钮时,Ajax加载页面刷新

时间:2014-11-18 11:08:40

标签: javascript jquery ajax

我通过AJAX在div中加载页面。这非常有效。 在这个ajax加载的页面上有一些按钮(通常用javascript创建)。当我点击其中一个按钮时,页面会刷新。奇怪的是;不,我说的页面应该刷新。毕竟;这就是我使用ajax的原因。

这是在AJAX加载页面上执行的javascript:

function buttonClicked(id){
    var page = id;
    photoPage = page*10;
    if(cur_button < id)
    {
        minCount += 10;
        maxCount += 10;
    }
    else
    {
        minCount -= 10;
        maxCount -= 10;
    }
    cur_button = id;
    jQuery("#imagesDiv").html("");
    $( "#imagesDiv" ).append( " <br/>");
    executePage();
}
function createButtons() {
    var i = 1;
    var button = "";
    while(i <= photoCount)
    {
        var button = document.createElement("BUTTON");
        var buttonName = document.createTextNode(i);
        button.appendChild(buttonName);
        button.id = i;
        jQuery(button).bind('click', { id: i}, function(event) {
            var data = event.data;
            buttonClicked(data.id);
        });
        imagesDivJS.appendChild(button);
        i++;
    }
}
function executePage()
{
    setImagesDivID();
    createButtons();
    $( ids ).append( " <br/>");
    populateDiv();
}
    function populateDiv() {
        for(var i = minCount;i < maxCount; i++)
        {
            if(i < total_count)
            {
                create_image("../"+photos[i],photoAlts[i]);
                $("#"+ids).append( "<p style=\"display:inline; padding-left:10px;\">" + photoTags[i] + "</p><br/>" );
            }
        }
    }

帮助将不胜感激。我已经在这件事情上扯断了我的脖子!

1 个答案:

答案 0 :(得分:1)

按钮正在刷新页面,因为它是一个提交按钮。您需要在按钮中添加type="button"属性。例如:

function createButtons() {
    var i = 1;
    var button = "";
    while(i <= photoCount)
    {
        var button = document.createElement("BUTTON");
        var buttonName = document.createTextNode(i);
        button.appendChild(buttonName);
        button.id = i;

        // Add type="button"
        button.setAttribute("type", "button");

        jQuery(button).bind('click', { id: i}, function(event) {
            var data = event.data;
            buttonClicked(data.id);
        });
        imagesDivJS.appendChild(button);
        i++;
    }
}