2012-10-04 3 views
2

다음 코드는 HTML 테이블의 div 엘리먼트에 적절하게 편집 가능하게 연결하고 실행합니다. 테이블은 ajax 호출을 통해 생성됩니다. 편집 가능을 사용하여 백엔드를 업데이트 할 수 있지만 편집중인 HTML 표 셀을 업데이트하지 않습니다? 백엔드에서 오는 새로운 값으로 테이블을 다시 표시하려면 ajax 쿼리를 다시 실행해야한다. 그래서 내 문제는 본질적으로 성공적으로 제출 한 후에 새로운 값을 표시하는 것입니다. jeditable 콜백에 빈 값이 있습니다 // // // 저장 버튼을 누른 후 편집 한 텍스트를 표시하는 방법?

내 문제를 해결하기 위해

, 내가 콜백 기능을 사용하여 생각,하지만 난

은 내가 어떻게 내 문제를 해결할 수 있습니다 ... 값 및 설정 콘솔 로그에 콜백 함수에서 비어있는 발견?

$(".edit_area").editable('/cgi-bin/mycgiscript.cgi', { 
event  : 'dblclick',  //or dblclick 
type  : 'textarea', 
rows  : 2, 
cols  : 30, 
cancel  : 'Cancel', 
submit  : 'Save', 
indicator : '<img src="images/indicator.gif">', 
placeholder : 'Double Click to enter text', 
tooltip  : 'Double Click to edit...', 
name  : 'name', 
id  : 'id', 
callback : function(value, settings) { 
console.log('value='+value); 
console.log('settings='+settings); 
console.log('callback executed='+value); 
return(value); 
} 
}); 

편집 한 텍스트를 '저장 한 후'때문에 콜백이 사용되었습니다. 편집 된 텍스트는 HTML 페이지에 표시되지 않습니다. 백엔드 데이터베이스에 제대로 저장됩니다. 백엔드 서버에서 업데이트 된 정보를 표시하는 아약스 호출을 다시 실행했습니다 ...

편집 가능한 것은 ajax 호출에서 생성되는 html 테이블의 div에 첨부됩니다. 도움이된다면 ...

답변

2

해결 방법 : 함수의 ajax 호출은 콜백 함수를 사용하여 구문 분석 할 수있는 무언가를 반환해야합니다. 일단 아약스 전화가 데이터를 뱉어 내기 시작했습니다. 나는 좋았다.

tx 모두.

+0

확실하지 않은 경우 : 고객에게 값을 제공해야합니다. PHP에서 나는 단지 다음과 같이해야만했다 :'echo $ _POST [ 'value'];'. 제 경우에는 약간 무의미한 것 같지만, 서버 측 로직을 업데이트 된 값에 적용하고 싶다면 의미가 있다고 생각합니다. –

0

예. AJAX 함수는 방금 편집 한 텍스트 영역에서 사용될 문자열을 반환해야합니다.

이것을 사용할 때 내 AJAX 호출은 성공/실패 플래그와 반환 메시지의 두 가지를 반환합니다. 어딘가에 반환 메시지를 표시하여 사용자에게 작업이 성공했는지 여부를 알립니다. 그런 다음 콜백 함수를 사용하여 실제로 대상 텍스트 영역을 업데이트합니다.

관련 문제