2011-03-04 64 views
0

我正在Jsp頁面內使用JQuery之上的JQTouch。我正在使用表單將數據發送到Servlet。 (請參閱下面的示例)我想將params發送到服務器。如何在使用JQuery時訪問servlet

但在服務器端,我有一個永遠不會到達的斷點。

function submitForm(val) { if(!formSubmitted) { 
     formSubmitted = true; 
     if(document.layers) { 
      document.forms[0].action.value = val; 
      document.forms[0].submit(); 
     } 
     else { 
      document.forms[0].action.value = val; 
      document.forms[0].submit(); 
     } 
    } 
    } <div> 
     <div class="toolbar"> 
      <h1>Shows</h1> 
      <a class="back" href="#home">Back</a> 
     </div> 
     <form id="myform" action="/servlet/LDPhoneShowServlet" method="POST"> 
      <input type="hidden" name="action" value=""> 
      <ul class="rounded"> 
      <li class="arrow"> 
    <a class="submit" onclick="submitForm('selectboothshow_<%=show.getETSHID()%>');return false;" href="#" ><%=show.getShowName()%></a> 
       </li> 
      </ul> 
     </form> 

在其他頁面中,我已經在下面使用...哪些工作。

<form id="myform" action="/servlet/LoginServlet" method="POST" class="form" > 
    <div class="toolbar"><h1>Login</h1></div> 
     <input type="hidden" name="action" value=""> 
      <input type="hidden" name="obtain" value=""> 
      <input type="hidden" name="UserName" value=""> 
      <ul class="rounded"> 
       <li><input type="text" placeholder="Username" name="login" ></li> 
       <li><input type="password" name="password" placeholder="Password"></li> 
      </ul> 
      <a style="margin:0 10px;color:rgba(0,0,0,.9)" href="#" class="submit whiteButton">Submit</a> 
    </form> 

我的錯誤在哪裏?我是否錯誤地使用了JQuery框架?你不能用< li>來訪問一個Servlet嗎?我不相信我可以使用submit()函數,因爲我需要傳遞參數。

謝謝。

+0

我必須說,我所有的Java代碼工作之前我添加了JQTouch框架。我不相信我的問題與我的原始應用程序有任何關係。一旦我刪除對JQtouch的引用,應用程序就會回到它以前的工作方式。我仍然不確定,但我認爲JQTouch代碼劫持了onclick事件。有誰知道JTouch,足以解釋如何使用onclick事件更新頁面上的值,並且仍然能夠將其傳遞給Servlet。我所有的參數都是空的。 – Jerry 2011-03-08 12:14:55

回答

0

我沒有看到任何<script>標籤 - 也許這就是你的問題。

+0

我把它們遺忘了,因爲我似乎無法得到本頁上的代碼格式正確......我的錯。他們在實際的代碼中。 – Jerry 2011-03-08 12:12:47

0

檢查操作URL。它真的指向你的servlet嗎?看起來,你錯過了webapp的名字。

+0

是的,正如我之前所說的,第二個例子是有效的,它指向一個位於共同位置的servlet。 – Jerry 2011-03-08 12:12:13

0

你的web.xml文件應該看起來像:

<web-app> 
    <servlet> 
     <servlet-name>MyServlet</servlet-name> 
     <servlet-class>my.servlet.Class</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>MyServlet</servlet-name> 
     <url-pattern>/LoginServlet</url-pattern> 
    </servlet-mapping> 
</web-app> 

表單標籤,在這種情況下,必須

<form id="myform" action="<%=request.getContextPath()%>/LoginServlet" method="POST" class="form" > 
    <div class="toolbar"><h1>Login</h1></div> 
     <input type="hidden" name="action" value=""> 
      <input type="hidden" name="obtain" value=""> 
      <input type="hidden" name="UserName" value=""> 
      <ul class="rounded"> 
       <li><input type="text" placeholder="Username" name="login" ></li> 
       <li><input type="password" name="password" placeholder="Password"></li> 
      </ul> 
      <a style="margin:0 10px;color:rgba(0,0,0,.9)" href="#" class="submit whiteButton">Submit</a> 
    </form> 
+0

我必須說,我的所有Java代碼都工作**之前**我添加了JQTouch框架。我不相信我的問題與我的原始應用程序有任何關係。一旦我刪除對JQtouch的引用,應用程序就會回到它以前的工作方式。我仍然不確定,但我認爲JQTouch代碼劫持了onclick事件。有誰知道JTouch足以解釋如何使用onclick事件更新頁面上的值? – Jerry 2011-03-08 12:11:57