2012-04-17 6 views
2

"저장"버튼이 포함 된 jQuery UI 대화 상자를 여는 웹 페이지가 있습니다.
해당 버튼을 클릭하면 대화 상자의 일부 정보가 페이지의 뒤쪽에 표시되므로 전체 페이지를 다시로드하고 싶습니다.jQuery : 대화 상자에서 단추를 클릭 할 때 페이지를 새로 고칠 수 있습니까? 대화 상자가 열린 상태로 유지됩니까?

이제는 대화 상자와 뒤에있는 페이지가 실제로 같은 페이지라는 것을 알고 있습니다 ... 그렇다면 window.location.reload(); 전체 페이지가 다시로드되고 대화 상자가 자동으로 사라집니다.

대화창에서 다시로드를하고 대화 상자를 열어 두는 것이 좋습니다. 가능하다고 생각하십니까? 저장

window.parent.location.reload(); 

답변

3

당신은에 AJAX를 사용할 수 있으며, 단지 DIV의 내용이 아니라 전체 페이지를 다시로드 :

+0

"$ ("main-body ")와 같은 비슷한 것을 먼저 시도했습니다. load (location.href +"# main-body> * ");"...하지만 코드는 "$ (document) .ready "다시 실행해야하지만 ... 실행되지 않습니다. – Canam

+0

@Canam 수동으로 해당 코드를 실행해야합니다. DOMReady는 한 번만 발생합니다. –

+0

@ 카 남 'setTimeout'은 코드를 실행하는 방식 때문일 수 있지만이를 수정할 수 있습니다. '.load'는 [비동기식] (http://en.wikipedia.org/wiki/Asynchrony)입니다. (코멘트를 제거했습니다!) –

0

당신은 사용해야합니다. 어쩌면 일부 아약스는 부분적으로 나머지 페이지를 새로 고침과

//on save.. 
$.get('page.php', function(data) { 
    $('.mydiv').html(data); 
}); 
+1

답변을 주셔서 감사합니다 ...하지만 여전히 대화 상자가 사라질 것입니다 ... 그것은 변화하지 않습니다. – Canam

+0

버튼의'onlick' 이벤트에 사용하고 그 뒤에'false false;를 입력하십시오. –

0

.. 대화 자체가 HTML의 일부는, 당신은 당신이 새로 고칠 수있는 방법으로 페이지를 구조체 필요 하듯

단지 무엇을 대화 상자의 html을 제외해야합니다 ...

관련 문제