一旦选中了下拉框中的值,我就会使用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()函数中设置
希望这能解释得更好
干杯
答案 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更好。