달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2012. 10. 2. 11:23

jsbin2.9.x 커스텀 연구 Study/JS&Ajax2012. 10. 2. 11:23

1번커스텀결과 ( commit log 남기기 )



생각보다 Logic이 복잡히 구현 되어 있어 분석하는데 애를 먹었다.
대부분 Ajax로 구현되어 있는데 이상하게 디버그가 잘 안되더라...
액션이 처리되는 방식이... 내가 처음 예상한바와 다르게 동작하여.. 찾는데 꽤나 걸린 것 같다.
우선 값을 넘기는 부분에 대한 처리가 필요하여 php 액션을 호출하는 부분을 찾았다.

href= < 이건 무슨의미로 적어 둔지는 모르겠다 (빼도 정상적으로 동작함..)
즉 a.save click시 해당부분으로 와서 셋팅후 cd라는 함수를 호출한다.

해당부분에서 ajax로 값을 넘겨준다.. 그래서 이부분에 commit Log를 작성하도록했다.
var commitLog = prompt("commit log","");
해당 부분은 자바스크립트에서 입력창을 받고 싶어서 추가하였다.
( ie에서는 좀 밉게 나와서 수정할 필요는 있을듯..)
.append('<input type="hidden" name="commitLog" />'); 
값을 넘기기 위한 hidden 필드 생성
X.find("input[name=commitLog]").val(commitLog);
commitLog value에 값을 지정하였다.
//save action
$commitLog = @$_POST['commitLog'];
commitLog에 값 지정
    $sql = sprintf('insert into sandbox (javascript, html, created, last_viewed, url, revision, commit) values ("%s", "%s", now(), now(), "%s", "%s", "%s")', mysql_real_escape_string($javascript), mysql_real_escape_string($html), mysql_real_escape_string($code_id), mysql_real_escape_string($revision), mysql_real_escape_string($commitLog));
하고 나면 정상적으로 insert됨을 확인하였다.
이상한건.. action 동작이 edit -> save이렇게 동작한다는점.
이름에 혼동이 오게 되어있다.. 확인하자.
:
Posted by 유쾌한순례자