我错过了什么?我已经通过Id添加了get元素,我肯定得到了回复,我使用firebug进行了检查并且响应是正确的。但我无法弄清楚为什么它不会填充我的div区域。
<script>
$(document).ready(function () {
$("#cmdSend").click(function () {
// Get he content from the input box
var mydata = document.getElementById("cmdInput").value;
$.ajax({
type: "POST",
url: "/Terminal/processCommand",
data: { cmd: mydata }, // pass the data to the method in the Terminal Contoller
success: function (data) {
//alert(data);
// we need to update the elements on the page
document.getElementById("terminal").value = document.getElementById("terminal").value + mydata;
document.getElementById("terminal").value = document.getElementById("terminal").value + data;
},
error: function (e) { alert(e); }
})
});
});
</script>
Div我希望将回复放入:
<div class="terminal" style="overflow:scroll">
<br>
</div>
答案 0 :(得分:1)
首先,您正在调用document.getElementById(),但您的div没有终端ID,它有一个名为terminal的类。
其次,您正在使用jQuery,但随后切换回经典JavaScript。您可以将代码更新为以下内容:
success: function (data) {
//alert(data);
// we need to update the elements on the page
var existingHtml = $(".terminal").html();
$(".terminal").html(existingHtml + mydata + data);
}
请注意,$(".SomeName")
选择器用于按类选择,$("#SomeName")
用于按ID选择。
编辑并注意
如果这个终端div可以开始在其中获取大量数据,你可以考虑使用jQuery中的.append()
函数来防止必须复制HTML并在每次重写HTML时提出要求。更新将类似于以下内容(它更短一点,也应该更有效)
success: function (data) {
//alert(data);
// we need to update the elements on the pag
$(".terminal").append(mydata + data);
}
答案 1 :(得分:0)
如果您想通过id获取元素,请在div中添加一个id:
<div id=terminal class="terminal" style="overflow:scroll">
<br>
</div>
答案 2 :(得分:0)
如果你想改变不使用jquery的div的内容,你应该使用innerHTML而不是value。
document.getElementById("divID").innerHTML = document.getElementById("divID").innerHTML + data