2015-06-09 40 views
0

通過了關於SO的其他類似問題,但無法解決我的問題。我已經在script標記內寫入了src路徑。如何鏈接jsp中的外部js文件

下面是程序:

function validate() 
 
    { 
 
     var fname = document.myForm.fname.value; 
 
     var lname = document.myForm.lname.value; 
 
     
 
     if(fname=="" && lname=="") 
 
     { 
 
      alert("First and last name cannot be emtpy"); 
 
      return false; 
 
     } 
 
    }
<html> 
 
     <head> 
 
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
 
      <script src="/js/validation.js"></script> 
 
      <title>Registration Form</title> 
 
     </head> 
 
     <body> 
 
      <form name="myForm" action="RegistrationServlet.do" method="POST" onsubmit="return validate()"> 
 
      First name:<input type="text" name="fname" /> <br/> 
 
      Last name:<input type="text" name="lname" /><br/> 
 
      Gender: Male<input type="radio" name="male" /> Female<input type="radio" name="male" /><br/> 
 
      Mobile:<input type="tel" name="mobile" /><br/> 
 
      Email:<input type="email" name="email" /><br/> 
 
      Address:<textarea name="tarea"></textarea><br/> 
 
      Street:<input type="text" name="street" /><br/> 
 
      Area:<input type="text" name="area" /><br/> 
 
      
 
      City:<select> 
 
       <option value="hyderabad">hyderabad</option> 
 
       <option value="secunderabad">secunderabad</option> 
 
       <option value="delhi">delhi</option> 
 
       <option value="mumbai">mumbai</option> 
 
      </select> 
 
    
 
      State: <input type="text" name="state" /><br/> 
 
      Country: <input type="text" name="country" /><br/> 
 
      Pin: <input type="text" name="pin" /><br/> 
 
      <input type="submit" value="Submit" /> 
 
      </form> 
 
     </body> 
 
    </html>

我的js文件的文件夾中稱爲webapp目錄內的js

+0

它在這裏工作過的片段,但它不是我的瀏覽器(Chrome)工作。它只是將請求轉發到servlet而無需驗證 – kittu

回答

0

下面的線固定我的問題:

<script src="<%request.getContextPath()%>/js/validation.js"></script> 
+0

這兩行都不是必需的,而且是你的html頁面,而不是直接根目錄,如果是的話,那麼你需要使用'src =「../ js/validation.js」' – vinayakj

+0

@vinayakj使用相對路徑意味着你總是必須弄清楚JSP的位置;使用絕對路徑幾乎總是正確的答案。 –

1

正確的鏈接是:

<script src="/js/validation.js"></script> 

請注意正確拼寫src屬性。

您也可以包含請求上下文,儘管在大多數情況下領先的/應該是足夠的。

不相關,但是您應該修正驗證例程中的前導/後綴空格,並且您拼寫爲empty錯誤。

+0

仍然不能正常工作 – kittu

+0

@kittu這就是爲什麼我說你可能需要請求上下文。雖然你當然不需要* both *;你會做同樣的請求兩次。 –