我可以使用ajax而不是文本框更新标签吗?

时间:2009-08-04 11:51:35

标签: php javascript html ajax

一旦选中了下拉框中的值,我就会使用ajax更新文本框。但是,如果满足某些条件,我只更新/放入文本,所以当没有消息时它看起来很垃圾。我当时认为有一个标签会好得多,但这可能吗?我可以有一个空标签,只需在需要时更新标签文本吗?

干杯 莱迪

编辑:

我正在使用php,当选择下拉框时,我正在查询mysql数据库(在reports.php页面中) - 取决于结果是什么,决定我是否更新文本框:

function getHTTPObject(){
   if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
   else if (window.XMLHttpRequest) return new XMLHttpRequest();
   else {
      alert("Your browser does not support AJAX.");
      return null;
   }
}   

// Change the value of the outputText field
function setOutput(){
    if(httpObject.readyState == 4){
        document.getElementById('outputText').value = httpObject.responseText;
    }

}


function checkException()
{

    httpObject = getHTTPObject();
    if (httpObject != null)
    {   
        httpObject.open("GET", "reports.php?exceptions="
                        +document.getElementById('exceptionsID').value+"&date1=" + document.getElementById('date1').value, true);
        httpObject.send(null);
        httpObject.onreadystatechange = setOutput;
    }
}

var httpObject = null;

文本框是'outputText'并在setOutput()函数中设置

希望这能解释得更好

干杯

4 个答案:

答案 0 :(得分:3)

这样的事情应该改变标签的文字。

// Change the value of the outputText field
function setOutput(){
        if(httpObject.readyState == 4){
                document.getElementById('outputText').innerHTML= httpObject.responseText;
        }

}

我更新了我的原始帖子,以反映所提供的代码。这假定您使用的是<label><div><span>代码

答案 1 :(得分:0)

将文本框更改为span,并保持id相同。然后更改代码以设置innerHTML而不是值:

// Change the value of the outputText field
function setOutput(){
        if(httpObject.readyState == 4){
                document.getElementById('outputText').innerHTML= httpObject.responseText;
        }

}

答案 2 :(得分:0)

假设你正在使用ASP.NET,是的,你可以。使用标签的Text属性。

答案 3 :(得分:0)

在没有文本框的情况下处理此问题的最简单方法是创建一个SPAN标记,给它一个id为“outputText”,然后像这样更改SPAN的innerText:

function setOutput() {
   if(httpObject.readyState == 4) {
       document.getElementById('outputText').innerText = httpObject.responseText;
   }
}

在HTML中,您的标签定义如下:

<span id="outputText">Some default text here</span>

当然,SPAN的一些CSS样式可能是件好事,但这又是另一回事。根据您的布局需求,DIV标签可能比SPAN更好。