Javascript 从另一个表单中包含的文本字段传递参数

Javascript 从另一个表单中包含的文本字段传递参数,javascript,html,forms,jsp,Javascript,Html,Forms,Jsp,我在JSP页面中有两个表单,一个包含文本字段。我需要确保,每当提交另一个表单时,它都会复制该文本字段中包含的值,并将其文本值写入一个隐藏参数中 更清楚地说: 一种形式称为“搜索” 另一种形式称为“changeInitialForm” 文本字段包含在“search”表单中,其名称为“searchString” “changeInitialForm”有一个隐藏字段,也被命名为“searchString” 其目的是确保无论用户提交一个或另一个表单,都会传递一个带有文本字段值的“searchString

我在JSP页面中有两个表单,一个包含文本字段。我需要确保,每当提交另一个表单时,它都会复制该文本字段中包含的值,并将其文本值写入一个隐藏参数中

更清楚地说:

  • 一种形式称为“搜索”
  • 另一种形式称为“changeInitialForm”
  • 文本字段包含在“search”表单中,其名称为“searchString”
  • “changeInitialForm”有一个隐藏字段,也被命名为“searchString”
  • 其目的是确保无论用户提交一个或另一个表单,都会传递一个带有文本字段值的“searchString”参数 我尝试在javascript中包含一个操作,在提交“changeInitialForm”时执行,该操作读取文本字段值并将其写入隐藏参数:

    function searchContacts(form)
    {
        var searchString= document.search.searchString.value;
        form.searchString.value= searchString;
    }
    
    ...
    
    <form name="search" >
        <input type="text" name="searchString">
        <button name="search"> Cerca </button>
    </form>
    
    ...
    
    
    <form name="changeInitialForm" method="post" action="AddressBookView.jsp" onSubmit="searchContacts(this.form);">
        <input type="hidden" name="selectedInitial"/>
        <input type="hidden" name="status" value="view"/> 
        <input type="hidden" name="searchString" />
    </form>   
    
    功能搜索联系人(表单)
    {
    var searchString=document.search.searchString.value;
    form.searchString.value=searchString;
    }
    ...
    Cerca
    ...
    
    但是在提交“changeInitialForm”之后,不管文本字段值如何,并且传递了空参数,我在firebug中看到了这一点:


    我也希望有一个替代的解决方案,因为我知道我正在做的是棘手的,但我没有找到另一种方法来做到这一点。“search”和“changeInitialForm”不能合并为一个表单,因为它们做的事情非常不同

    function searchContacts(form)
    {
        var searchString= document.search.searchString.value;
        form.searchString.value= searchString;
    }
    
    ...
    
        Form 1:
    <form name="search" >
        <input type="text" name="searchString">
        <button name="search"> Cerca </button>
    </form>
    
    ...
    
        Form 2:
    <form name="changeInitialForm" method="post" action="AddressBookView.jsp" onSubmit="searchContacts(this);">
        <input type="hidden" name="selectedInitial"/>
        <input type="hidden" name="status" value="view"/> 
        <input type="hidden" name="searchString" />
    </form>
    

    下面的方法似乎有效

    function searchContacts(form)
    {
        var searchString= document.search.searchString.value;
        form.searchString.value= searchString;
    }
    
    ...
    
        Form 1:
    <form name="search" >
        <input type="text" name="searchString">
        <button name="search"> Cerca </button>
    </form>
    
    ...
    
        Form 2:
    <form name="changeInitialForm" method="post" action="AddressBookView.jsp" onSubmit="searchContacts(this);">
        <input type="hidden" name="selectedInitial"/>
        <input type="hidden" name="status" value="view"/> 
        <input type="hidden" name="searchString" />
    </form>
    

    您正在使用jQuery吗?或者只是本地JavaScript?提交按钮在哪里?当您单击
    搜索
    按钮时,您似乎正在尝试提交
    .changeInitialForm
    表单。但是,
    搜索
    表单如何,它不显示方法、动作或任何JavaScript方法?除非您使用AJAX,否则您不能同时提交两个表单,这意味着一个比您预期的复杂得多的问题。至于为什么表单没有提交按钮,答案是我是通过javascript函数提交表单的。你在使用jQuery吗?或者只是本地JavaScript?提交按钮在哪里?当您单击
    搜索
    按钮时,您似乎正在尝试提交
    .changeInitialForm
    表单。但是,
    搜索
    表单如何,它不显示方法、动作或任何JavaScript方法?除非您使用AJAX,否则您不能同时提交两个表单,这意味着一个比您预期的复杂得多的问题。至于为什么表单没有提交按钮,答案是我通过javascript函数提交表单。它对我不起作用,参数仍然是一个空字符串。我不需要submit按钮,因为我用javascript代码提交表单。我只是根据您刚才给出的精度更新了我的解决方案。它对我不起作用,参数仍然是一个空字符串。我不需要提交按钮,因为我是用javascript代码提交表单的。我只是根据您刚才给出的精度更新了我的解决方案。