Заменить содержимое DIV Javascript, не могу правильно выбрать внешнее имя файла - PullRequest
0 голосов
/ 24 июля 2011

Я нашел этот код в интернете, и он, кажется, работает, но независимо от того, как я называю файл, который будет загружаться в DIV, всегда получаю одно и то же сообщение, что «Объект не найден». Что именно я должен сделатьдля загрузки файла?

Это HTML-код ...

<a href="javascript:void()" onclick="javascript:sendRequest('sourcepage?id=34', 'targetdiv')">Link Text</a>
<div id="targetdiv">This is the target</div>

Итак ... как мне назвать файл для "sourcepage? Id = 34", чтобы понять это правильно?До сих пор я пробовал "id34.html", "sourcepage-34.html" и подобные вещи, но ни один из них не работает.

Сценарий:

function createRequestObject() 
{
    var returnObj = false;

    if(window.XMLHttpRequest) {
        returnObj = new XMLHttpRequest();
    } else if(window.ActiveXObject) {
        try {
            returnObj = new ActiveXObject("Msxml2.XMLHTTP");

            } catch (e) {
            try {
            returnObj = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {}
            }

    }
    return returnObj;
}

var http = createRequestObject();
var target;

// This is the function to call, give it the script file you want to run and
// the div you want it to output to.

function sendRequest(scriptFile, targetElement)
{   
    target = targetElement;
    try{
    http.open('get', scriptFile, true);
    }
    catch (e){
    document.getElementById(target).innerHTML = e;
    return;
    }
    http.onreadystatechange = handleResponse;
    http.send();    
}

function handleResponse()
{   
    if(http.readyState == 4) {      
    try{
        var strResponse = http.responseText;
        document.getElementById(target).innerHTML = strResponse;
        } catch (e){
        document.getElementById(target).innerHTML = e;
        }   
    }
}

Я думаю, чтосамый глупый вопрос, который я сделал в моей жизни ... извините за это и заранее спасибо: D

1 Ответ

0 голосов
/ 24 июля 2011

Ну, имя файла, которое вы пытаетесь использовать, не имеет расширения.В зависимости от конфигурации другого сервера, он может быть перенаправлен на несколько разных типов файлов.«? Id = 34» - это параметр url, никак не связанный с именем файла.Просто замените имя файла:

<a href="javascript:void()" onclick="javascript:sendRequest('myFile.html', 'targetdiv')">Link Text</a>
<div id="targetdiv">This is the target</div>

И назовите свой файл myFile.html и поместите его в ту же папку, где находится приведенный выше HTML.Если вы предпочитаете использовать jQuery, я бы порекомендовал вам сделать следующее:

$('#targetdiv').load('myFile.html', function(){
    // code to execute once the HTML is loaded into your div
});
...