2013-10-21 5 views
1

현재 리셉션 연도가 현재 연도인지 여부를 확인하는 서블릿을 호출하는 RESET YEAR 링크가 있습니다. 둘 다 같지 않으면 resetsear() 함수가 호출됩니다. 함수가 호출되고 있지만 문제는 함수가 제대로 작동하지 않는다는 것입니다. 나는 양식에 행동을하고있다. 그러나 그것은 그 행동을 취하지 않고 그것을 제출하지 않습니다. "안녕하세요"때까지 경고하고 있습니다. 내 기능 흐름은 그 경계를 넘지 않습니다.자바 스크립트 함수의 폼 동작이 작동하지 않습니다.

제게 제안 해주십시오.

function resetyear(){ 

if(confirm("DO YOU WANT TO RESET THE YEAR?")) 
{ 
    alert("hello"); 
    var formname = document.getElementById("indexform"); 
    alert(formname); 
    document.forms[0].action = "resetmaster"; 
    alert("hi") 
    //alert(document.forms['indexform'].action); 
    document.forms[0].submit(); 
    alert("over"); 
    //form.action = "/resetmaster"; 
    //form.submit(); 
    alert(1); 
} 
else{ 

    alert("nothing"); 
} 
} 

    function dontreset() 
{ 
alert("YOU CAN'T RESET THE YEAR"); 
} 

및 HTML 코드는 - -

내 기능은

<html> 
<head> 
    <title>CHANDNA COLDSTORAGE</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <script src="js/calculateamt.js" type="text/javascript" ></script> 
    <link href="CSS/style.css" rel="stylesheet" type="text/css"> 
    <script> 
     function MM_goToURL() { //v3.0 
      var i, args=MM_goToURL.arguments; document.MM_returnValue = false; 
      for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'"); 
     } 
    </script> 

</head> 

<% String role = ""; 
    role = (String) session.getAttribute("role"); 

    String flag = ""; 
    flag = (String) session.getAttribute("flag"); 
    System.out.println("flag = " + flag); 
    if (flag == null) { 
     flag = ""; 
    } 
    if (flag.equals("yes")) { 
%> 
<script> 

    alert(1); 
    // resetyear(); 
    dontreset(); 
    //document.getElementById("checkyear").value = "1"; 
    //alert(document.getElementById("checkyear").value); 

</script> 
<%} else if(flag.equals("no")) 
    {%> 
<script> 
    alert(2); 
    //document.getElementById("checkyear").value = "2"; 
    //alert(document.getElementById("checkyear").value); 
    resetyear(); 
</script> 
<%}else{}%> 
<body> 
    <form name="indexform" method="post" id="indexform"> 
     <div id="maindiv"> 
      <div align="center"> 
       <p>&nbsp;</p> 
       <p id="Title"> CHANDNA COLD STORAGE </p> 

       <input type="hidden" name="checkyear" id="checkyear" value=""> 
      </div> 

      <table width="459" border="0" align="center"> 

       <%if (role != null && role.equals("admin")) {%> 
       <tr> 
        <td height="70"><p align="center"><a href="showoctdet.jsp">OCCUPANT'S LIST</a></p></td> 
       </tr> 
       <tr> 
        <td height="70"><p align="center"><a href="/ColdStorage/regisbean">REGISTRATION PAGE</a></p></td> 
       </tr> 
       <tr> 
        <td height="70"><p align="center"><a href="Acceptanceform.jsp">ACCEPTANCE PAGE</a></p></td> 
       </tr> 
       <tr> 
        <td height="70"><p align="center"><a href="CashReciept.jsp">CASH RECIEPT</a></p></td> 
       </tr> 
       <tr> 
        <td height="70"><p align="center"><a href="Report.jsp">REPORT</a></p></td> 
       </tr> 
       <tr> 
        <td height="70"><p align="center"><a href="DetailsTrack.jsp">TRACK DETAILS</a></p></td> 
       </tr> 
       <tr> 
        <td height="70"><p align="center"><a href="/ColdStorage/resetyear">RESET YEAR</a></p></td> 
       </tr> 

       <%} else {%> 
       <tr> 
        <td height="70"><p align="center"><a href="Report.jsp">REPORT</a></p></td> 
       </tr> 

       <%}%> 



      </table> 
      <p>&nbsp;</p> 
      <p align="center"> 
       <input type="submit" name="signout" id="signout" value="SIGN OUT" onClick="MM_goToURL('parent','Login.jsp');return document.MM_returnValue"> 
      </p> 
    </form> 

</body> 
</html> 
+0

생성 한 서버 코드가 아닌 클라이언트가받은 HTML을 게시해야합니다. – RobG

+0

Chrome/Firefox를 사용하는 경우 브라우저에서 오류 콘솔을 확인하는 것이 도움이됩니다. – Nishan

+0

@ Nishan 도움에 감사드립니다. 이제 오류 콘솔을 통해 문제를 찾으려고합니다. Uncaught TypeError : 정의되지 않은 속성 'action'을 설정할 수 없습니다. – Divyang

답변

1

빠른 데모 모든 경고 나에게 보여줍니다

JSFiddle

당신이이 확실 캐싱 문제가 아닌가? Chrome 또는 Firefox에서 자바 스크립트 코드를 디버그하여 현재 진행중인 작업을 볼 수 있습니다.

JSFiddle 링크가 있으므로 여기에 몇 가지 코드를 포함시켜야합니다. JSFiddle의 코드는 다음과 같습니다.

<body> 
    <script> 
     function resetyear() { 

      if (confirm("DO YOU WANT TO RESET THE YEAR?")) { 
       alert("hello"); 
       var formname = document.getElementById("indexform"); 
       alert(formname); 
       document.forms[0].action = "resetmaster"; 
       alert("hi") 
       //alert(document.forms['indexform'].action); 
       document.forms[0].submit(); 
       alert("over"); 
       //form.action = "/resetmaster"; 
       //form.submit(); 
       alert(1); 
      } else { 

       alert("nothing"); 
      } 
     } 
    </script> 
    <form name="indexform" method="post" id="indexform"> 
     <div id="maindiv"> 
      <div align="center"> 
       <p>&nbsp;</p> 
       <p id="Title">CHANDNA COLD STORAGE</p> 
       <input type="hidden" name="checkyear" id="checkyear" value=""> 
      </div> 
      <table width="459" border="0" align="center"> 
       <%if (role !=n ull && role.equals("admin")) {%> 
        <tr> 
         <td height="70"> 
          <p align="center"><a href="showoctdet.jsp">OCCUPANT'S LIST</a> 
          </p> 
         </td> 
        </tr> 
        <tr> 
         <td height="70"> 
          <p align="center"><a href="/ColdStorage/regisbean">REGISTRATION PAGE</a> 
          </p> 
         </td> 
        </tr> 
        <tr> 
         <td height="70"> 
          <p align="center"><a href="Acceptanceform.jsp">ACCEPTANCE PAGE</a> 
          </p> 
         </td> 
        </tr> 
        <tr> 
         <td height="70"> 
          <p align="center"><a href="CashReciept.jsp">CASH RECIEPT</a> 
          </p> 
         </td> 
        </tr> 
        <tr> 
         <td height="70"> 
          <p align="center"><a href="Report.jsp">REPORT</a> 
          </p> 
         </td> 
        </tr> 
        <tr> 
         <td height="70"> 
          <p align="center"><a href="DetailsTrack.jsp">TRACK DETAILS</a> 
          </p> 
         </td> 
        </tr> 
        <tr> 
         <td height="70"> 
          <p align="center"><a href="javascript:resetyear()">RESET YEAR</a> 
          </p> 
         </td> 
        </tr> 
        <%} else {%> 
         <tr> 
          <td height="70"> 
           <p align="center"><a href="Report.jsp">REPORT</a> 
           </p> 
          </td> 
         </tr> 
         <%}%> 
      </table> 
      <p>&nbsp;</p> 
      <p align="center"> 
       <input type="submit" name="signout" id="signout" value="SIGN OUT" onClick="MM_goToURL('parent','Login.jsp');return document.MM_returnValue"> 
      </p> 
    </form> 
</body> 
+0

캐싱 문제 없음.이 오류는 Chrome 오류 콘솔에서 발생합니다. Uncaught TypeError : 속성 'action'을 undefined로 설정할 수 없습니다. – Divyang

관련 문제