1

我正在尝试通过一些 ajax 调用从数据库返回数据,在 HTML 页面上实现一些保存/加载功能。通过让我的 PHP 文件返回数据,可以很容易地更改选择下拉菜单的值......

//retrieve data
$sql = "SELECT Description
        FROM WorkSel1
        WHERE (AssignedEmp='$empname')";

$rs = odbc_exec($connection, $sql);

while(odbc_fetch_row($rs)) {
    $data= odbc_result($rs, 'Description');
    printf("<option value='%s'>%s</option></div>",$data,$data);
}

这很容易工作,因为我可以发回一些新的下拉选择。但是,当我有类似的东西时

<input type='text' id='descript1'...></input>

有没有办法使用 printf(...) 调用来更改/设置它的值,就像在这里完成的那样?

只是为了记录,ajax调用看起来像这样......

function loadDescript(strURL) {    
var req = getXMLHTTP();
if (req) {
  req.onreadystatechange = function() {
    if (req.readyState == 4) {
      // only if "OK"
      if (req.status == 200) {            
        document.getElementById('descript1').innerHTML=req.responseText;            
      } else {
        alert("There was a problem while using XMLHTTP:\n" + req.statusText);
      }
    }       
  }     
  req.open("POST", strURL, true);
  req.send(null);
}

}

4

1 回答 1

1

没有必要

printf("<option value='%s'>%s</option></div>",$data,$data);

只需像这样呼应您的价值:

echo $data;

然后在您的通话成功事件中执行以下操作:

document.getElementById('descript1').value = req.responseText;
于 2013-03-16T07:26:02.990 回答