请教一下,在jquery里能够先创建一个div,再在该div里使用load方法载入页面吗?
<script>
$(document).ready(function(){
$("#btn").click(function(){
var comment=document.getElementById("comment").value;
var new_div=document.createElement("div");
var mainDiv=document.getElementById("comment_area");
new_div.load('picture1.jsp',{"content":comment,"username":"kel"});
mainDiv.append(new_div);
})
})
</script> 展开
<script>
$(document).ready(function(){
$("#btn").click(function(){
var comment=document.getElementById("comment").value;
var new_div=document.createElement("div");
var mainDiv=document.getElementById("comment_area");
mainDiv.append(new_div);
new_div.load('picture1.jsp',{"content":comment,"username":"kel"});
});
});
</script>
1)、先append,然后才会有你创建出来的标签。这样才能用到load方法。
2)、你这是用Jquery写的。。后面就尽量不要出现原生的DOM选择器了。。用$("#")或者$(".")代替吧。。
3)、如果你要做局部刷新。。建议另写一function来get数据库的数据,否则的话。你只有等到你评论了。才能看到最新的内容。。
完整相关代码发给我,我帮你分析。
那个comment是textarea的id,这条语句主要是得到用户输入的评论内容,我按你说的方法试了一下,解决不了,你的意思是可以先创建div,再用在该div里使用oad方法载入页面吗
我帮你解决了,我是用.net做的。不过我不是加载picture1.jsp页面,我加载的是一般处理程序Handler1.ashx页面,但他们原理是完全一样的。
你出现错误的原因:
1、new_div.load('picture1.jsp',{"content":comment,"username":"kel"});
在javascript脚本里面,对象不支持该属性或方法,会报错,断点调试如下图:
解决的方法是改成JQuery的load()方法,就是:
$("#comment_area").load("Handler1.ashx", { "content": comment, "username": "kel" });
2、mainDiv.append(new_div);有错误,同样的道理,对象mainDiv没有append方法,估计是方法名写错了 ,应该是appendChild()方法。
我整个代码如下:
脚本:
标签:
一般处理程序Handler1.ashx如下:
最终运行结果如下:
整个过程就是,jquery里先创建一个div,点击button按钮使用load方法载入页面到这个div里面。