在JSP中的确认框调用之后发出处理servlet调用的问题

时间:2016-01-21 15:32:24

标签: java jsp servlets confirm

仍然在我的mainEFT.jsp上工作,我试图添加一个确认框,检查用户是否不想在命令行中输入值并选择所有记录。如果他们点击“确定”,那么它应该处理所有记录。如果他们单击“取消”,他们会收到另一条消息并返回命令行。这是“文档”.ready(function)'部分中的代码:

    $("#searchEFT").mousedown(function ()
        {

          var Cmd_Sched_Number = document.getElementById("CMDScheduleNumber").value;
          var Cmd_Contract_Year = document.getElementById("CMDContractYear").value;
          var Cmd_Status = document.getElementById("CMDSchedStatus").value;
          var Cmd_Creation_Date = document.getElementById("CMDCreationDate").value;

          if (Cmd_Sched_Number == "") 
          {
              if (Cmd_Contract_Year != "") {
                  alert("Schedule Number and EFT Contract Year must be both populated");
                  return false;
              }
          } 
          else if (Cmd_Contract_Year == "") 
          {
                alert("Schedule Number and EFT Contract year must be both populated");
                return false;
          }

          if (Cmd_Status == " " && Cmd_Creation_Date == "" &&
              Cmd_Sched_Number == "" && Cmd_Contract_Year == "")
          {
              if (confirm("Are you sure you want to pull all EFT schedule numbers?") == false) 
                 {
                   alert("Please enter information in any of the command line fields") ;
                   return false ;
                 } 
             else
                {
                  return true ;
                }                
           }

     });

以下是调用EFTscreen.java程序的按钮的代码:

        <button id="searchEFT" type="submit" formaction="EFTscreen?action=searchEFT" 
                        class="btn smBtn">Search</button>

当我点击OK时,程序不会进入我的EFTscreen.java程序并继续处理。这是使用停止处理的确认框或其他问题吗?我想我回来时需要一些东西,但不确定。当我在任何这些字段中有数据时,我正在访问我的EFTscreen.java程序。

由于

1 个答案:

答案 0 :(得分:0)

我之前的回答不正确。我误解了你的问题。现在,我再次看到它,你的代码中的问题在于你正在提交&#34;提交&#34;按钮与mousedown处理程序同时。要使代码生效,您必须具备以下内容:

<form id="myform" method="get" action="EFTscreen?action=searchEFT">
    ..... Various controls in for (text - checkboxes - dropdowns)
    <button id="searchEFT">Search</button>
</form>

(请注意,在我的代码中,按钮不是type =&#34;提交&#34;)

然后如上所述添加您的鼠标hanlder,但不是返回true,您必须提交表单:

$('#myform').submit();

更新: 现在怎么样?好吧,您附上要在form元素中提交的数据。 form元素定义了使用表单的GET属性中定义的POSTaction方法提交的输入(数据)。这最终将触发servlet的doGetdoPost方法。

现在,通过从我们的按钮中删除type=submit,我们阻止自动提交表单。通过在我们的按钮上添加事件处理程序,我们可以在单击按钮时执行一些javascript。 <button id=".." onclick="myFunction();">

可以实现同样的目标

最后提交表单的事实上是内部检查javascript表单检查。

希望这是有帮助的