2009-08-27 30 views
0

問題級別:中級/初級發帖的形式從JSP

我創建了一個表格

`method="post" action="eh.do" onsubmit="return Form1_Validator(this)"` 

驗證是成功的,當我點擊提交工作正常。

但是在servlet上,我有一個連接函數來將這些值合併在一起。

當啓用JavaScript,即當我寫onsubmit="return Form1_Validator(this)"它表明:

java.lang.NullPointerException 
    java.lang.String.concat(Unknown Source) 
    EditHelper.doPost(EditHelper.java:27) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 

但一旦禁用JavaScript即我刪除了onsubmit="return Form1_Validator(this)",它工作正常。

如果所有條件都滿足,我的腳本返回

return (true); 

這是什麼問題?我試過return(theForm);但是問題仍然是一樣的!

+0

請將Form1_Validator函數的代碼以及EditHelper.java中接近第27行的代碼貼出來 – svinto 2009-08-27 09:19:10

+0

我不確定這裏,但是您可以將該返回塊作爲Java代碼而不是Javascript來處理。按照@svinto的建議發佈您的代碼。其次,你不應該在你的服務器代碼中運行Javascript。 – 2009-08-27 09:27:21

+0

我想通了。我刪除了所有的串聯值,並使用傳統的+連接,現在一切正常! BTW ..表單驗證沒有問題,我在servlet中放出了一個out.print函數,並且日誌傳遞了參數,傳遞的值。 @Helen我在客戶端運行javascript在服務器端! – 2009-08-27 11:05:14

回答

2

我會使用Firebug來查看如果您添加您的onsubmit處理程序,表單提交請求參數如何更改。我猜你的JavaScript代碼會影響這些參數,一旦你看到會發生什麼,它可能會變得很明顯,爲什麼會這樣。