2009-12-26 9 views
0

다음 코드는 매우 잘 작동하고 있습니다. 갑자기 Edit 버튼이 작동을 멈췄습니다. 사용자가 편집 버튼을 클릭하면 JSON 코드가 실행됩니다. 그러나 지금은 클릭을 인식하지 못합니다. 우연히 무슨 일이 일어난거야? 도와주세요.버튼이 작동하지 않음

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
    <head> 

     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></meta> 
     <script type="text/javascript" src="js/jquery.min.js"></script> 
     <script type="text/javascript" src="js/jquery.cookie.js"></script> 
     <script src="js/calendar.js" type="text/javascript"></script> 
     <link href="js/calendar.css" type="text/css" rel="stylesheet" /> 
     <link rel="stylesheet" href="css/wysiwyg.css" type="text/css"> 
     <script type="text/javascript" src="js/wysiwyg.js"></script> 
     <script type="text/javascript" src="js/wysiwyg-settings.js"></script> 

     <!-- JSON implementation to get data through JQuery/AJAX --> 
     <script type="text/javascript"> 
       $(document).ready(function(){ 
        $("#Edit").click(function(){ 
          $.getJSON("fetchvalues.php?UpdateRecordID=" + $.cookie('UpdateRecordID'), 
          function(data){ 

          //Fill the Form with the data values  
          document.getElementById('LDate').value = data[0]; 
          document.getElementById('Places').value = data[1]; 
          document.getElementById('Company').value = data[2]; 
          document.getElementById('Designation').value = data[3]; 
          document.getElementById('ProjectDetails').value = data[4]; 
          document.getElementById('DesiredCandidate').value = data[5]; 
          document.getElementById('HRName').value = data[6]; 
          document.getElementById('HRContact').value = data[7]; 
          document.getElementById('Email').value = data[8]; 
         }); 
        }); 
       }); 
     </script> 

     <title>Job Listing Entry</title> 
    </head> 
    <body> 
     <table id="main" cols="2"> 
     <tr>  
     <td> 
     <Form id="frmNewEntry" method="post" action="insert_listing.php"> 
      <table id="tblEntry" cols="3" style="border-color:lightblue; border-style:solid;"> 
       <tr><td colspan="3" bgcolor="lightblue" align="center"><strong>Real-Time Vacancy Entry</strong></td></tr> 
       <tr><td>Date:</td><td><input id="LDate" name="LDate" type="text" size="20" maxlength="11"/>[Select Date from the Calendar Control] 
        <script type="text/javascript"> 
         WYSIWYG.attach('all', full); 
         calendar.set("LDate"); 
        </script></td> 
        <td> 
         <table> 
          <tr> 
           <td rowspan="6"> 
           <!-- <iframe src="show_db_vacancy_entries.php" height="800px" width="300px" bordercolor="cyan"> 

            </iframe> --> 
           </td> 
          </tr> 
         </table> 
        </td> 
       </tr> 
       <tr><td>Places:</td><td><input id="Places" name="Places" type="text" size="35" maxlength="30" onblur="this.value=MakeInitialCapital(this.value);"></td></tr> 
       <tr><td>Company:</td><td><input id="Company" name="Company" type="text" size="50" onblur="this.value=MakeInitialCapital(this.value);"> 
       <!-- <input type="button" value="Make Initial Capital" align="left" onclick="this.value=MakeInitialCapital(this.value);"></tr> --> 
       <tr><td>Designation:</td><td><input id="Designation" name="Designation" type="text" size="50" onblur="this.value=MakeInitialCapital(this.value);"></td></tr> 
       <tr><td>Project Details:</td><td><textarea id="ProjectDetails" name="ProjectDetails" cols="100" rows="10"></textarea></td></tr> 
       <tr><td>Desired Candidate:</td><td><textarea id="DesiredCandidate" name="DesiredCandidate" rows="3" cols="100"></textarea> <br></td></tr> 
       <tr><td>HR Name:</td><td><input id="HRName" name="HRName" type="text" size="50" onblur="this.value=MakeInitialCapital(this.value);"> <br></td></tr> 
       <tr><td>HR Contact:</td><td><input id="HRContact" name="HRContact" type="text" size="50"> <br></td></tr> 
       <tr><td>Email:</td><td><input id="Email" name="Email" type="text" size="50"> <br></td></tr> 
       <tr></tr> 
       <tr> 
        <td bgcolor="lightblue"> 
         <input id="Clear" name="Clear" value="Clear" type="button" onclick="ClearFields();"> 
        </td> 
        <td bgcolor="lightblue"> 
         <input id='Submit' name='Submit' value='Submit' type='submit' /> 
        </td> 
       </tr> 

      </table> 
     </Form> 
     </td> 
     <td> 
      <table id="list" cols="2" style="border:none"> 
       <tr> 
        <td colspan="2" style="border:none"> 
         <iframe src="show_db_vacancy_entries.php" height="600px" style="border:none;"> 

         </iframe> 
        </td> 
       </tr> 
       <tr> 
        <td align="left"> 
         <input id="Edit" name="Edit" value="Edit Record" type="button" /> 
        </td> 
        <td align="right"> 
         <input id="Delete" name="Delete" value="Delete" type="button" /> 
        </td>     
       </tr> 
      </table> 
     </td> 
     </tr> 
     </table> 
    </body> 
</html> 

<script language="JavaScript" type="text/javascript"> 
    function MakeInitialCapital(str) 
    { 
     return str.toLowerCase().replace(/\b[a-z]/g, cnvrt); 
     function cnvrt() { 
      return arguments[0].toUpperCase(); 
     } 

    } 

    //Convert initials to capital in a certain control 
    function MakeInitialCapitalControl(controlName) 
    { 
    var ctrl = document.getElementById(controlName).value; 

    if(/^[A-Z]/.test(ctrl.value)) { 
     ctrl.value = ctrl.value.toLowerCase(); 
     return; 
    }   

    /* ctrl.value = ctrl.value.toLowerCase().replace(/\b[a-z]/g, function { 
     return arguments[0].toUpperCase(); 
    });*/ 
    } 

    function ClearFields() 
    { 
     document.getElementById('Email').value = ""; 
     document.getElementById('HRContact').value = ""; 
     document.getElementById('HRName').value = ""; 
     document.getElementById('DesiredCandidate').value = ""; 
     document.getElementById('ProjectDetails').value = ""; 
     document.getElementById('Designation').value = ""; 
     document.getElementById('Company').value = ""; 
     document.getElementById('Places').value = ""; 
     document.getElementById('LDate').value = ""; 
    } 

</script> 
+0

$ (문서), $ ("# 편집"), $ .getJSON, 함수 (데이터) {및 함수 내의 첫 번째 줄에 중단 점을 넣고 진행할 수있는 문제를 참조하십시오 특정 일에 대한 디버깅. 감사합니다 –

+0

"something * accidentally * happened"? 버전 관리 시스템을 사용하십시오. 효과가있는 버전과이 버전의 차이점은 무엇입니까? 또한 문제를 해결하는 가장 작은 조각으로 코드를 줄이십시오. –

+0

코드가 변경되지 않고 "갑작스럽게 작동을 멈췄습니다"라는 메시지가 나타나면 데이터베이스에서 되돌아 오는 데이터를 볼 수 있습니다. 아마 당신의 코드가 뭔가를 제대로 벗어나지 못했고 마침내 그것을 깨뜨리는 희귀 한 테스트 케이스를 만났을 것입니다. – Asaph

답변

0

모든 외부 JS 및 CSS 파일을 제거한 후 코드를 테스트 한 결과 제대로 작동하는 것 같습니다.

문제는 돌아 오는 JSON 데이터에서 발생할 가능성이 큽니다. 아마도 JSON 객체가 잘못되었거나 PHP 경고문이 인쇄되도록 PHP 파일을 호출했을 것입니다. 는 (역시 PHP 구성의 변화의 결과 일 수)

난 당신이 방화범의 부가 기능 활성 (또는 이에 상응하는 무엇인가)와 파이어 폭스의 페이지를 사용하려고 제안했다. JSON 요청이 리턴하는 내용과 요청에 오류가 있는지를 정확히 보여줍니다.

+0

경고 상자를 표시해도 경고 상자가 표시되지 않습니다. – RKh

0

Atli가 말한 것처럼 코드가 정상적으로 보입니다. 이 $.cookie('UpdateRecordID')에 대해 궁금 해서요, querystring의 일부입니다. 쿠키가 설정되지 않은 경우 어떻게됩니까?

방화 광으로 적절한 응답을 확인할 수 있습니까?

관련 문제