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

ผมมีไฟล์หลัก 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("");



}



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




 
29 เม.ย. 2556 6 2,019

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
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^