提问者:小点点

根据使用嵌套表单单击的按钮,将输入字符串传递给不同的jsp页面


我试图根据按下的按钮将trackingNo传递给jsp页面。 我创建了2个按钮,addnew并搜索addnew假设从输入字段获取输入trackingNo并将其传递给tracking.jsp(如果按下它的话),搜索假设从输入字段获取输入trackingNo并将其传递给HOME_STUDENT_RESULT.jsp.我不确定正确的方法是什么,所以我尝试使用嵌套表单,其中一个表单带有“add”id,另一个表单带有“srch”id。 运行它之后,只有顶部窗体起作用。 内在的形式不起作用。 谁能帮帮我,或者建议一个更好的方法来做这件事? 谢谢。

         <div>
            <form id="add" method="post" action="tracking.jsp">
                <i class="fas fa-search"></i>
                <form id="srch" method="post" action="home_student_result.jsp">
                    <input name="target" type="input" placeholder = "Search..." class = "text_search"/>
                </form>
            </form>
        </div>
        <button class="button_search" onclick="document.getElementById('add').submit()">
                Add New
        </button>
        <button class="button_search" onclick = "document.getElementById('srch').submit();">
            Search
        </button>

共2个答案

匿名用户

您只能使用一个表单和单击按钮,您可以根据按钮单击情况将操作值更改为特定值,然后提交您的表单

演示代码:

null

function submit(value) {
  console.log(value)
  //if value is add
  if (value == "add") {
    //change action of form
    document.getElementById('forms').action = 'tracking.jsp'
    document.getElementById('forms').submit(); //submit
  } else {
    document.getElementById('forms').action = 'home_student_result.jsp'
    document.getElementById('forms').submit();
  }
}
<div>
<!--add id to form-->
  <form id="forms" method="post" action="tracking.jsp">
    <i class="fas fa-search"></i>

    <input name="target" type="input" placeholder="Search..." class="text_search" />

  </form>
</div>
<!--add function with parameter(value of button) -->
<button class="button_search" value="add" onclick="submit(this.value)">
                Add New
        </button>
<button class="button_search" value="srch" onclick="submit(this.value)">
            Search
        </button>

匿名用户

您可以独立地保留这两个表单,并使用JavaScript设置'target'字段的值。 我在代码中添加了id属性,以便使用普通JavaScript。

    <div>
    <form id="add" method="post" action="tracking.jsp">
        <i class="fas fa-search"></i>
        <input id="addText" type="input" placeholder = "add text"/>
        <button class="button_search" onclick="addToSearch()">
        Add New
        </button>
    </form>
    <form id="srch" method="post" action="home_student_result.jsp">
        <input name="target" id="searchValue" type="input" placeholder = "Search..." class = "text_search"/>
        <button class="button_search" onclick = "document.getElementById('srch').submit();">
        Search
        </button>
    </form>
</div>
            
<script>
    function addToSearch(){
     var textValue = document.getElementById('addText').value;
     document.getElementById('searchValue').value = textValue;
    }
</script>