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

标签 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/>" );
            }
        }
    }

帮助将不胜感激。我一直在为这件事折断脖子!

最佳答案

该按钮正在刷新页面,因为它是一个提交按钮。您需要向按钮添加 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++;
    }
}

关于javascript - 单击按钮时 Ajax 加载页面刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26992841/

相关文章:

Javascript:在globalStorage中存储对象

javascript - 如何添加箭头图标以展开和折叠带有可展开行的 Angular Mat-Table 中的任何行?

JQuery 检查 DOM 中的重复 ID

javascript - 如何使用 jQuery 访问存储在数组中的元素?

javascript - 如何只获取 JSON 数据的第一个元素?

javascript - Chrome 扩展程序出错 - "Mixed Content: This request has been blocked; the content must be served over HTTPS"

javascript - Dygraphs - 同时突出显示两个系列

javascript - JavaScript 可以在 Visual Studio 中分成区域吗?

javascript - 解析 JQuery 中的值?

javascript - 数据表,更改 AJAX 数据(不使用元素)