Javascript JSP/Struts/JS表单提交:如何在提交前修改输入的文本数据?

Javascript JSP/Struts/JS表单提交:如何在提交前修改输入的文本数据?,javascript,html,forms,jsp,Javascript,Html,Forms,Jsp,这里是javascript等的Noob。我是一名php/core Java程序员,负责使用Struts在JSP中维护一堆JS代码。我需要做的很简单,但我无法找到一个简单的解决方案。下面是struts的HTML表单和JS提交函数的代码摘录,我需要在按下“提交”按钮之后,但在提交数据之前(附加到页面URI)修改文本字段“查询”的数据。当按下“提交”时,页面将重新加载?search=在附加到URL的文本框中键入的内容。我需要修改该值:例如,一个简单的字符替换函数:如果用户键入“apple”,则使用函数

这里是javascript等的Noob。我是一名php/core Java程序员,负责使用Struts在JSP中维护一堆JS代码。我需要做的很简单,但我无法找到一个简单的解决方案。下面是struts的HTML表单和JS提交函数的代码摘录,我需要在按下“提交”按钮之后,但在提交数据之前(附加到页面URI)修改文本字段“查询”的数据。当按下“提交”时,页面将重新加载?search=在附加到URL的文本框中键入的内容。我需要修改该值:例如,一个简单的字符替换函数:如果用户键入“apple”,则使用函数将所有“a”字符替换为“b”,这样当文本字段中用“apple”按下“submit”时,页面将重定向到(原始URL)?search=bpple

我可以自己编写文本处理函数(至少我知道足够多的JS),但我不知道如何在点击按钮后,但在提交之前,从表单中获取输入并修改它。我已尝试在实际提交行(使用replaceChars作为手写简单字符替换方法)之前向JS“submitSearch”方法添加“document.forms[SEARCH\u FORM\u NAME].query.value=replaceChars(document.forms[SEARCH\u FORM\u NAME].query.value)”但它没有更改提交到URL中的数据。我还尝试了document.getElementById('query')。value=…,结果相同

单击“提交”按钮后,但在表单提交到URL之前,如何修改下面表单中文本字段中的数据

代码摘录:


var SEARCH\u FORM\u NAME=“searchForm”;
函数submitSearch(){
$(“排序”).value=“文件路径”;
$(“dir”).value=“asc”;
document.forms[搜索表单名称].submit();
返回false;
}
搜寻

您正在为提交按钮的
onclick
事件和表单的
onsubmit
事件分配
submitSearch()

由于
onclick
事件是在
onsubmit
事件之前触发的,因此如果
onclick
事件没有返回true,
onsubmit
事件甚至不会触发


去掉
onclick
处理程序,它应该可以工作。

您是否使用原型框架??有用的建议。这让我走上了正确的道路,我可能会用它来实施一个适当的解决方案,做更多的工作。我决定按照我所知道的去编辑底层核心Java代码中的字段(我知道格式不好)。谢谢你的帮助!
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>

<head>


<script type="text/javascript" defer="defer">

    var SEARCH_FORM_NAME = "searchForm";

    function submitSearch() {
        $("sort").value = "filePath";
        $("dir").value = "asc";
        document.forms[SEARCH_FORM_NAME].submit();
        return false;
    }
</script>
</head>

<html:form styleId="searchForm" action="/search" method="get" onsubmit="return submitSearch();">
<table width="100%">
<tr>
    <td style="width:10%;"><tiles:insert page="/WEB-INF/tiles/logo.jsp" /></td>
    <td class = "search-cell" style="width:10%; white-space:nowrap;">            
        <html:text property="query" styleId="query" size="50"/>
        <html:submit onclick="return submitSearch();">
            Search
        </html:submit>
    </td>
</tr>
</table>