2

我在我的项目中使用 struts2-jquery 插件。我正在尝试使用<sj:submit>这样的标签提交表单:

<sj:submit id="caseSubmit"
           targets="result"
           formIds="mainForm"
           onCompleteTopics="caseSubmitted"
           button="true"/>

此操作的 struts.xml 映射如下:

  <action name="submitAddCase" class="com.xxx.action.AddCaseAction">
    <result type="json">
           <param name="root">caseId</param>
    </result>
  </action>      

onComPleteTopics 代码

$.subscribe('caseSubmitted', function(event,data) {
    var indexPre = event.originalEvent.request.responseText.indexOf("<pre>")+5;
    var indexPreEnd = event.originalEvent.request.responseText.indexOf("</pre>");
    var id = event.originalEvent.request.responseText.substring(indexPre,indexPreEnd);
    $("#case_id").val(id);
});  

我想要的是使用caseId返回的内容在同一页面上加载一些其他内容。但是, event.originalEvent.request.responseText返回caseId包裹在这样的 pre 标签中

<pre>154000</pre>

这就是它在 Firefox 中的返回方式。在 chrome 中,它以另一种形式返回。如何在没有包装 html 的情况下获得 caseId 的原始值。现在我正在使用javascript的子字符串方法来获取它在chrome中不起作用的值,因为返回的格式不同

4

1 回答 1

1

代替

$("#case_id").val(id);

$("#case_id").val($(id).html());
于 2012-07-13T15:34:19.387 回答