ผมมีไฟล์หลัก 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 17:18
hello



- -" ไม่มีใครตอบได้เลย
กรกฎ วิริยะ 30 เม.ย. 2556 07:12
คำตอบคือ ทำไม่ได้ครับ



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



ถ้าจำเป็นให้เอาอออกจาก ifame เถอะครับ
ไม่ทราบ 30 เม.ย. 2556 23:44
ขอบคุณมากครับพี่กรกฏ
ไม่ทราบ 01 พ.ค. 2556 00:33
รบกวนถามเพิ่มเติมนะครับ ถ้าผมต้องการได้ผลลัพธ์แบบให้มันแสดงที่ไฟล์อื่น(แต่อยู่ใน 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>  

 
กรกฎ วิริยะ 01 พ.ค. 2556 06:55
ถ้าอยู่บนเพจเดียวกัน ก็สามารถเข้าถึงได้ด้วย name หรือ getElementById ได้เลยครับ
ไม่ทราบ 02 พ.ค. 2556 00:48
ขอบคุณมากครับพี่ เดี๋ยวจะลองดูครับyes