0

我有一个 jsp 页面,上面有两个 ajaxy 按钮:快速保存和运行。两个按钮都调用一个 JavaScript 方法,该方法本质上是:

function submitForm(url) {
    document.<formname>.action = url;
    // call method that makes ajax call via YAHOO.util.Connect.asyncRequest
    submitAjaxRequest(document.<formname>); 
}

然后按钮执行return false;此操作,页面无法导航。

问题:点击“快速保存”后,一切正常。但是,现在当我点击“运行”时,提交的表单数据包含“:快速保存”,这导致tomcat抛出警告“参数:无效块被忽略”。

如果我反过来尝试(即单击运行,然后单击快速保存),我看不到任何此类问题。知道为什么要在表单数据中添加按钮标签吗?YUI 问题?支柱问题?

这是动作的struts定义:

    <action path="/edit" type="com.llc.MyActionClass" parameter="edit"
            name="formName" validate="false" scope="request">
        <set-property property="permission" value="ModifyData"/>
        <forward name="success"         path="def.tile.edit" />
        <forward name="error"           path="/list.do" />
    </action>

    <action path="/save" type="com.llc.MyActionClass" parameter="save"
            name="formName" validate="true" scope="request"  input="/edit.do?validation_error=true">
        <set-property property="cancellable" value="true"/>
        <set-property property="permission" value="ModifyData"/>
        <forward name="success"         path="/list.do" redirect="false"/>
        <forward name="quicksave"       path="/edit.do" redirect="false"/>
        <forward name="cancel"          path="/list.do" redirect="true"/>
        <forward name="error"           path="/edit.do" />
    </action>

    <action path="/run" type="com.llc.MyActionClass" parameter="find"
            name="formName" validate="true" scope="request"  input="/edit.do?validation_error=true">
        <set-property property="permission" value="ModifyData"/>
        <forward name="success" path="def.tile.result" redirect="true"/>
        <forward name="error"   path="/edit.do" />
    </action>
4

1 回答 1

0

它是由以下原因引起的:

<input type="submit"/>

将类型属性更改为“按钮”会导致按钮标签未添加到表单数据中。

于 2013-02-22T19:56:02.550 回答