有没有办法用ajax调用设置<input type =“text ...”/>的值,就像你可以使用<select ...>?</select ...>

时间:2013-03-16 07:20:32

标签: html ajax

我正在尝试在HTML页面上实现一些保存/加载功能,我有一些ajax调用从数据库返回数据。通过让我的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);
}

}

1 个答案:

答案 0 :(得分:1)

没有必要

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

像这样回应你的价值:

echo $data;

然后在你的调用成功事件中执行此操作:

document.getElementById('descript1').value = req.responseText;