A-AA+then

สอบถามการอ้างอิง selector ครับ

908
ผมมีไฟล์หลัก 1 ไฟล์ คือ index.php ในนั้น ประกอบด้วย 3 iframe ครับ iframe 1 เป็น header 2 เป็นช่องให้ทำการ search 3 เป็นส่วนแสดงผลครับ
ผมอยากทราบว่า เราจะอ้างอิง selector ที่อยู่ใน iframe 3 อย่างไรครับ เมื่อผมทำการ search จาก iframe 2 

เรื่องค้นหาข้อมูลผมทำได้แล้วครับไม่มีปัญหา แต่อยากจะให้แสดงผลไปที่ iframe ที่ผมต้องการครับ

คือผมใช้ ajax ในการเรียกไฟล์ search.php ครับแล้วดึง data กลับมาที่หน้า index ใน iframe 2 ซึ่งตอนผลลัพธ์มันออก มันแสดงที่ iframe 2 ครับ ซึ่งมันเป็นเพียงกรอบเล้กๆ ข้อมูลที่ต้องแสดง มันมีหลาย record ครับ

$.ajax({

type:"post",
url:"search.php",
data:"word="+word,
success:function(data){
// อันนี้ มันแสดงที่ iframe เดียวกันครับ ผมอยากอ้างอิงไปยัง iframe 3
$("#result").html(data);
$("#search").val("");

}

รบกวนชี้แนะด้วยนะครับ ขอคุณมากครับ


 

6 ความคิดเห็น

hello

- -" ไม่มีใครตอบได้เลย
1

คำตอบคือ ทำไม่ได้ครับ

โดยปกติแล้ว javascript จะไม่ยอมให้เข้าถึง element ใน iframe อื่นๆครับ โดยเป็นเหตุผลด้านความปลอดภัย ซึ่งบราวเซอร์จะยอมให้ใช้บางคำสั่งได้เท่านั้นครับ

ถ้าจำเป็นให้เอาอออกจาก ifame เถอะครับ
2

ขอบคุณมากครับพี่กรกฏ
3

รบกวนถามเพิ่มเติมนะครับ ถ้าผมต้องการได้ผลลัพธ์แบบให้มันแสดงที่ไฟล์อื่น(แต่อยู่ใน page เดียวกัน) จะอ้างถึง element ยังไงครับ

หากผมเปลี่ยนโดยไม่ใช้ iframe เป็น page index.php มี 3 ไฟล์ include โดยที่มี header.php , search_fill.php , search_result.php และไฟล์ search.php 

โดยที่ search_fill.php ใช้  ajax ทำการเรียก ไฟล์ search.php แล้วให้มาแสดงผลในไฟล์ search_result.php ซึ่งจะแสดงข้อมูล ตรงกลาง page index.phpครับ


$.ajax({

type:"post",
url:"search.php",
data:"word="+word,
success:function(data){
//ผมจะอ้างถึง element ที่อยู่คนละไฟล์ได้อย่างไรครับ $("#result") อยู่ไฟล์ search_fill.php ครับ
$("#result").html(data);
$("#search").val("");

}








<script type="text/javascript">

            $(document).ready(function(){

                  

                 function search(){

 

                      var title=$("#search").val();


                      if(title!=""){
                       
                      
                       $("#result").html("<img alt='ajax search' src='progressbar.gif'/>");

                         $.ajax({

                            type:"post",

                            url:"search.php",

                            data:"title="+title,

                            success:function(data){

                                $("#result").html(data);

                                $("#search").val("");

                             }

                          });

                      }

                 }


                  $('#button').click(function(){

                     search();

                  });

                  $('#search').keyup(function(e) {

                    if(e.keyCode == 13) {

                        search();

                      }
                   });
                  
        

            });
            
            
 

</script>


<div>
             <input type="text" id="search" placeholder="Search Here..."/>

             <input type="button" id="button" value="Search" />

</div> 
            <div>result<ul id="result"></ul></div>  
 
4

ถ้าอยู่บนเพจเดียวกัน ก็สามารถเข้าถึงได้ด้วย name หรือ getElementById ได้เลยครับ
5

ขอบคุณมากครับพี่ เดี๋ยวจะลองดูครับyes
6
^