我通过ajax向后台访问数据后,需要更新现有的层
后台返回的是一个列表allArticleList,前台需要更新一个迭代器<s:iterator value="allArticleList" status="stuts">
完全代码如下:
js代码://回调函数
function findSucc()
{
restext = eval("(" + this.req.responseText + ")"); var articlelist = document.getElementById("articlelist");
//这里怎么写
return true;
}
html代码:
<DIV class="body clearfix" id="articlelist"> <TABLE class=tableList cellSpacing=0 cellPadding=0 width="100%" border=0>
<THEAD>
<TR>
<TH class=time>日期</TH>
<TH class=topic>文章标题</TH>
<TH class=edit>修改</TH>
<TH class=edit>删除</TH>
</TR> </THEAD>
<TBODY>
<s:iterator value="allArticleList" status="stuts">
<TR>
<TD class=time>
<s:date name="write_time" format="yyyy-MM-dd"/>
</TD>
<TD class=topic>
<s:property value="title" />
</TD>
<TD class=edit>
<a href="/blog/admin/updateArticle.action?id=<s:property value="article_id" />">
<img title="修改" alt="修改" src="/blog/images/ico_edit.gif" border="0">
</a>
</TD>
<TD class=edit>
<a onclick='{if(confirm("您确定删除吗?")){return true;}return false;}' href=/blog/admin/deleteArticle.action?id=<s:property value="article_id" />>
<img title="删除" alt="删除" src="/blog/images/ico_del.gif" border="0">
</a>
</TD>
</TR>
</s:iterator>
</TBODY>
</TABLE>
</DIV>
关键是怎么注入值到这个迭代器里面 </DIV>
后台返回的是一个列表allArticleList,前台需要更新一个迭代器<s:iterator value="allArticleList" status="stuts">
完全代码如下:
js代码://回调函数
function findSucc()
{
restext = eval("(" + this.req.responseText + ")"); var articlelist = document.getElementById("articlelist");
//这里怎么写
return true;
}
html代码:
<DIV class="body clearfix" id="articlelist"> <TABLE class=tableList cellSpacing=0 cellPadding=0 width="100%" border=0>
<THEAD>
<TR>
<TH class=time>日期</TH>
<TH class=topic>文章标题</TH>
<TH class=edit>修改</TH>
<TH class=edit>删除</TH>
</TR> </THEAD>
<TBODY>
<s:iterator value="allArticleList" status="stuts">
<TR>
<TD class=time>
<s:date name="write_time" format="yyyy-MM-dd"/>
</TD>
<TD class=topic>
<s:property value="title" />
</TD>
<TD class=edit>
<a href="/blog/admin/updateArticle.action?id=<s:property value="article_id" />">
<img title="修改" alt="修改" src="/blog/images/ico_edit.gif" border="0">
</a>
</TD>
<TD class=edit>
<a onclick='{if(confirm("您确定删除吗?")){return true;}return false;}' href=/blog/admin/deleteArticle.action?id=<s:property value="article_id" />>
<img title="删除" alt="删除" src="/blog/images/ico_del.gif" border="0">
</a>
</TD>
</TR>
</s:iterator>
</TBODY>
</TABLE>
</DIV>
关键是怎么注入值到这个迭代器里面 </DIV>
你写的那些标签能有用吗?直接在HTML里写个<DIV>然后用JS往里放东西就好了。
var row=tab.insertRow();var col1=row.insertCell();
col1.innerText="你要显示的日期";var col2=row.insertCell();
col2.innerText="你要显示的文章标题";以此类推。
没可能啦,<s:iterator value="allArticleList" status="stuts"> 它是在后台执行后把结果返回前台
前台是没有办法执行它的!
只能通过js(它可以在前台运行,<s:iterator>是不能的)来处理。
问题的解决方案请参考2楼。给楼主一个小建议:不要滥用Ajax,以免增加编程的难度。如果你只是想查询文章信息,显示在界面上,并提供修改和删除的操作,在服务器端完成数据的迭代和显示就可以了,何必一定要使用Ajax呢?个人以为,使用Ajax只有一个理由:异步请求和局部刷新。