2016-01-21 45 views
1
后处理的servlet调用

仍然工作在我的mainEFT.jsp,我是想补充一点,检查用户是否希望在命令行中没有进入的价值观和选择所有记录的确认框。如果他们点击“确定”,那么它应该处理所有记录。如果他们点击“取消”,他们会收到另一条消息并返回到命令行。下面是里面的代码“文件)。就绪(功能)”部分:问题确认框呼叫JSP

$("#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> 

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

谢谢

+0

我修改了代码,把“返回false”或“返回true”,并似乎没有做太多。我猜我必须对按钮做些事情,但不知道。 – hammerva

回答

0

我以前的答案是不正确的。我误解了你的问题。现在,我再次看到它,在你的代码的问题在于,你有一个“提交”按钮以鼠标按下处理程序,同时这一事实。为您的代码工作,你必须有类似以下内容:

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

(请注意,在我的代码的按钮不是type =“提交”)

添加您的鼠标hanlder同上,但代替返回true你已经提交表单:

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

UPDATE: 这是如何工作的呢?那么,你附上你的数据提交form元素。所述form元素定义什么输入(数据)将使用的形式的action属性中定义的GETPOST方法提交。这将最终触发servlet的doGetdoPost方法。

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

实现,并且finaly提交表单实际上是内部的退房JavaScript表单检查的东西。

希望那是有益

+0

那么使用'mousedown'或'click'甚至是一个我已经看过几次的“mouseup”有什么区别? – hammerva

+0

更新了我的回答 – MaVRoSCy

+0

这个工作。我不得不改变我的方法到'POST',但它得到servlet代码我仍然不明白为什么当我们点击确认框但不在其他场景时,为什么我们不得不把它们放在

中谢谢 – hammerva