2014-11-14 3 views
0

저는 Jquery colorbox에서 ajax 메소드를 사용하여 외부 PHP 페이지를 호출합니다. 데이터를 제출하는 동안 colorbox는 자동으로 닫힙니다. n go ... 가 // 홈 페이지우리가 데이터를 제출할 때 jquery "colorbox"가 닫히는 것을 피하는 방법

몇 가지 제안이 문제의 친구들 있습니다 ABT 솔루션을 r에 알려주세요 .... colorbox

의 // jQuery를 라이트 박스없이 일반 페이지 뷰에 어떻게를 방지하고 제출 후 colorbox를 다시
<script src="jquery/jquery.colorbox-min.js"></script> 
    <script> 
     $(function(){ 
      $(".ajax").colorbox({width:"63%", height:"80%"}) 
     }); 
</script> 
<a class="ajax" href="assign_ajax.php">New Task</a> 

제출하는 동안 colorbox에서 ajax가 호출하는 페이지입니다. 정상적인 페이지에서 내 보낸 /////////////////////////////////////////////////////////////////////////// //////////////

if(isset($_POST['update'])){ 

$sql = UPDATE `notes` SET `note`=$_POST['update_text'] WHERE`id`={$_GET['note_id']}; 
mysql_query($sql) or die(mysql_error()); 
} 


<form name="update_form" id="update_form" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);>?note_id=<?php echo $row['id']; ?>" method="post"> 
<textarea name="update_text" id="update_text" rows="5" cols='55'><?php echo $row['note']; ?></textarea> 
<br> 
<input type="submit" id="update" name="update" value="update"> 
<input type="button" value="cancel" class ="edit" id="edit-<?php echo $row['id']; ?>"> 
</form> 
+0

어떻게 외부 페이지를 호출합니까? 양식 또는? 적어도 코드의 일부를 게시하십시오. –

+0

일부 코드를 게시하십시오. 현재 상태에서이 모든 것을 이해하는 것은 거의 불가능합니다. –

답변

0
<script src="jquery/jquery.colorbox-min.js"></script> 
<script> 
    function showColorBox(event) 
    { 
     event.preventDefault(); 
     $.colorbox({href:"assign_ajax.php"}); 
    } 
</script> 
<a class="ajax" onclick="showColorBox(event)">New Task</a> 
//Or 
<script src="jquery/jquery.colorbox-min.js"></script> 
<script> 
    $(function(){ 
     $(".ajax").on("click",function(event){ 
      event.preventDefault(); 
      $.colorbox({href:$(this).attr("href")}); 
     }); 
    }); 
</script> 
<a class="ajax" href="assign_ajax.php">New Task</a> 

편집

<?php 
if(isset($_POST['update'])){ 
    $sql = "UPDATE `notes` SET `note`=$_POST['update_text'] WHERE`id`={$_GET['note_id']}"; 
    mysql_query($sql) or die(mysql_error()); 
} 
?> 


<form name="update_form" id="update_form" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);>?" note_id="<?php echo $row['id']; ?>" method="post" onsubmit="return FALSE;"> 
<textarea name="update_text" id="update_text" rows="5" cols='55'><?php echo $row['note']; ?></textarea> 
<br> 
<input type="button" id="update" name="update" value="update"> 
<input type="button" value="cancel" class ="edit" id="edit-<?php echo $row['id']; ?>"> 
</form> 
<script> 
    $(function(){ 
     $("#update").on("click",function(){ 
      $.ajax({url: $("#update_form").attr("action"), data:{note_id: $("#update_form").attr("note_id"),update_text:$("#update_text").val()}, type:"POST", dataType:"json"}).done(function(data){}); 
     }); 
    }); 
</script> 
+0

여기 버튼이 아니라 링크를 사용하고 있습니다.이 포스트는 PHP 코드에 의해 제출되었습니다. SQL 문을 실행 한 후 해당 컬러 박스를 다시 열고 싶습니다. –

+0

모든 정보를로드하고 컬러 박스에 표시 했습니까? –

+0

s 제출 후 데이터베이스에 데이터를 제출 한 후 colorbox에 정보를로드하려고합니다. 현재 제출 후 colorbox없이 정상적으로 표시됩니다. –

관련 문제