我正在使用kottke.org的旧JAH示例将一些html返回到网页中的div。如果我使用静态文本,代码工作正常。但是我需要获取一个字段的值来添加到作为参数传递给函数的字符串中。
var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
}
function getMyHTML(serverPage, objID) {
var obj = document.getElementById(objID);
xmlhttp.open("GET", serverPage);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
obj.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null);
}
在页面上....
<a href="javascript://" onclick="getMyHTML('/WStepsDE?open&category="+document.getElementById('Employee').value;+"','goeshere')">Change it!</a></p>
<div id ="goeshere">Hey, this text will be replaced.</div>
使用getMyHTML调用失败(在Firebug的帮助下),我尝试将Employee的值包含在第一个参数中。错误是“未终止的字符串文字”。请事先提供帮助。
答案 0 :(得分:1)
你的报价是错的。您不能将双引号嵌套在单引号内。尝试这样的事情:
<a href="javascript://" onclick="getMyHTML('/WStepsDE?open&category='+document.getElementById('Employee').value,'goeshere')">Change it!</a></p>
答案 1 :(得分:0)
您在onclick
处理程序中混合了引号。您可以将其重写为单独的函数,以下列方式对其进行更正:
<a href="javascript://" onclick="getMyHTML('/WStepsDE?open&category='+document.getElementById('Employee').value,'goeshere')">Change it!</a>