我有一个函数,ajaxinclude(),它包含页面的内容。 它的写法如下:
<div>
<script type="text/javascript">
ajaxinclude("info/content/About.php")
</script>
</div>
现在,我想要一个按钮点击这应该来了。 因此,
<button onclick="document.getElementById('aaa').innerHTML = '<script type='text/javascript'>ajaxinclude(\'info/content/About.php\');</script>">Hello</button>
但这不起作用。
另一种方法是
<button onclick="document.getElementById('aaa').innerHTML = '<script type='text/javascript'>' + ajaxinclude('info/content/About.php') + '</script>">Hello</button>
但这也不起作用。
这是我的ajaxinclude()函数:
var rootdomain = "http://" + window.location.hostname;
function ajaxinclude(url) {
var page_request = false
if (window.XMLHttpRequest)
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.open('GET', url, false)
page_request.send(null)
writecontent(page_request)
}
function writecontent(page_request){
if (window.location.href.indexOf("http")==-1 || page_request.status==200)
document.write(page_request.responseText)
}
如何在点击按钮上包含文字?
PS:我不想要jQuery。
答案 0 :(得分:0)
尝试
<button onclick="document.getElementById('aaa').innerHTML = ajaxinclude('info/content/About.php')">Hello</button>
但是我必须警告内联JavaScript是不好的做法,特别是这样!您可以重写writecontent
函数以接受两个参数:页面请求和要写入的目标的ID。
您的新writecontent
功能将是:
function writecontent(page_request, write_target){
if (window.location.href.indexOf("http")==-1 || page_request.status==200) {
document.getElementById(write_target).innerHTML = page_request.responseText;
}
}
您需要在那里传递写入目标的ID,并且由于您从writecontent
调用ajaxinclude
,因此您也需要参数:
function ajaxinclude(url, write_target) {
// ...
writecontent(page_request, write_target);
}
按钮:
<button onclick="ajaxinclude('info/content/About.php', 'aaa')">Hello</button>
更好的做法是将click
操作绑定到按钮,而不是使用onclick
。使用jQuery会更容易,但是既然你明确表示你不想使用jQuery,你也可以在JavaScript中使用addEventListener()
来实现它:
document.getElementById('thisbutton').addEventListener('click', function(){ajaxinclude('info/content/About.php', 'aaa')}, false);
这会将按钮更改为:
<button id='thisbutton'>Hello</button>
Read more about event listeners at the Mozilla Developer Network
答案 1 :(得分:0)
你的意图是什么。
通过您的代码单击按钮,ID“aaa”的元素innerHTML成为脚本函数