jquery ajax 返回的html字符串 解析乱码问题
想做的效果如:51job中简历的动态添加工作经验。
问题:
能实现效果,但是返回result有两个按钮解析的不对。
将:<a style='cursor:pointer;' onclick='deleteinfo('Record','add','2')'>删除</a>
解析成了:<a record','add','2')'="" onclick="deleteinfo(" style="cursor:pointer;">删除</a>
将:<img style='cursor: pointer' onclick='Record_save('record_form_add_2')' src='/images/stock/btn_save1.gif'>
解析成了:<img src="/images/stock/btn_save1.gif" record_form_add_2')'="" onclick="Record_save(" style="cursor: pointer">
我的js:
var Created = 0;
var allowPrompt = true;
var Submited = 0;
var Returned = 0;
function showinfo(info_id)
{
$("#" + info_id + "_info").toggle();
$("#" + info_id + "_show").toggle();
$("#" + info_id + "_hidden").toggle();
}
function addinfo(info_id)
{
var info_num = $("#" + info_id + "_num").val();//取得表单id
info_num++;
$("#" + info_id + "_num").val(info_num);//设置表单id+1
$.get("/control/main/InvestorControl!"+info_id+".action",
{ NextAction: "edit", info_num: info_num, show_num: info_num,investorid: $("#investorid").val()} , function(result) {$("#" + info_id + "_edit").append(eval(result)); });
}
Struts2_action:
public String Record() throws IOException {
result="<div id='Record_add_"+this.info_num+"'>" +
"<form name='Record_form_add_"+this.info_num+
"' method='POST' id='Record_form_add_"+this.info_num+
"' action='InvestorControl!addRecord'>" +
"<table><tbody><tr><td>通话记录</td><td><img src='/images/stock/icon_del.gif' align='absmiddle' hspace='3'>" +
"<a style='cursor:pointer;' onclick='deleteinfo('Record','add','"+this.info_num+"')'>删除</a>"+
"</td></tr><tr><td colspan='2'><textarea rows='8' cols='60'></textarea></td></tr><tr></tr></tbody></table><p>"+
"<img style='cursor: pointer' onclick='Record_save('record_form_add_"+this.info_num+"')' src='/images/stock/btn_save1.gif'></p></form></div>";
return SUCCESS;
}
我的struts.xml:
<!-- 客户管理 -->
<package name="ajax" extends="json-default">
<action name="InvestorControl" class="com.redant.web.action.investor.InvestorControlAction">
<!-- 返回类型为json 在json-default中定义 -->
<result type="json">
<!-- root的值对应要返回的值的属性 -->
<!-- 这里的result值即是 对应action中的 result -->
<param name="root">result</param>
</result>
</action>
</package>
我的jsp片段:
<div id="Record_info">
<div id="Record_edit">
<div id="Record_add_1">
<form name="Record_form_add_1" method="POST" id="Record_form_add_1" action="InvestorManage!addRecord">
<table>
<tbody>
<tr>
<td>通话记录</td>
<td><img src="/images/stock/icon_del.gif" align="absmiddle" hspace="3">
<a onclick="deleteinfo('Record','add','1')" style="cursor: pointer;">删除</a> </td>
</tr>
<tr>
<td colspan="2">
<textarea rows="8" cols="60"></textarea>
</td>
</tr>
<tr>
</tr>
</tbody>
</table>
<p><img src="/images/stock/btn_save1.gif" onclick="Record_save('Record_form_add_1');" style="cursor: pointer;"></p>
</form>
</div>
</div>
<table class="rew_con_paragraph" border="0" cellpadding="0" cellspacing="0">
<tbody><tr>
<td><img src="../../../images/stock/btn_addcontinue.gif" onclick="addinfo('Record');" style="cursor: pointer;" id="Record_add" hspace="5" vspace="10">继续添加</td>
</tr>
</tbody></table>
<input type="hidden" id="Record_num" value="1"/>
<input type="hidden" id="investorid" name="investorid" value="999"/>
</div>
问题:
能实现效果,但是返回result有两个按钮解析的不对。
将:<a style='cursor:pointer;' onclick='deleteinfo('Record','add','2')'>删除</a>
解析成了:<a record','add','2')'="" onclick="deleteinfo(" style="cursor:pointer;">删除</a>
将:<img style='cursor: pointer' onclick='Record_save('record_form_add_2')' src='/images/stock/btn_save1.gif'>
解析成了:<img src="/images/stock/btn_save1.gif" record_form_add_2')'="" onclick="Record_save(" style="cursor: pointer">