将javascript变量传输到外部页面

时间:2014-01-26 12:18:27

标签: javascript php jquery ajax variables

我需要从图像中检索属性。然后需要将此属性发送到原始页面。我使用.load加载单击图像的页面,然后在“内部”页面上检索该属性。

所以我基本上想要的是:

  1. 你进入“内部页面”
  2. 您点击了加载了ajax的“外部网页”中的图片。
  3. 然后将属性“src”加载到变量
  4. 此变量将发送回“内部页面”
  5. 我可以使用发送的变量。
  6. 这是我到目前为止所得到的:

    外部页面:

    <script type="text/javascript">
    $(document).ready(function() {
        $(".imgid").click(function() {
            var imgname = $(this).attr('src');
            var xhr;
                if (window.XMLHttpRequest) xhr = new XMLHttpRequest(); // all browsers
                else xhr = new ActiveXObject("Microsoft.XMLHTTP");  // for IE
    
                var url = 'internalpage.php?js_var=' + imgname;
                xhr.open('GET', url, false);
                xhr.onreadystatechange = function () {
                    if (xhr.readyState===4 && xhr.status===200) {
                        var div = document.getElementById('update');
                        div.innerHTML = xhr.responseText;
                    }
                }
                xhr.send();
                // ajax stop        
        });
    });
    </script>
    <fieldset>
        <label for="portal_id">Afbeelding Portal</label>
        <?php $photos = Beeldbank::find_all(); ?>
        <?php $rows=3; $cols=4;$i=1; $row_counter=0; echo '<table>'; foreach($photos as $photo): if($row_counter<$rows){
        if($i==1) { echo '<tr>'; }
        echo '<td>'.'<img src="../'.$photo->image_path().'" width="125" class="imgid" />'.'</td>';
        echo '<td>'.'<input type="hidden" id="filename" name="filename" value="'.$photo->naam.'" />'.'</td>';
        if(($i%$cols)==0){ echo '</tr><tr>';  $row_counter++; }
        }
        $i++; 
        endforeach;
        echo '</table>'; ?>
      </fieldset>
    

    内部页面:

    <script type="text/javascript" src="../javascripts/SelectImage.js"></script>
        Afbeelding Portal<br />
        <button id="select_portal" type="button">Selecteer Afbeelding</button>
        <div id="dialog-form" style="display:none; position:absolute; width:auto; height:auto;"></div>
    

    js文件:

    $(document).ready(function(){
        $( "#select_portal" )
          .button()
          .click(function() {
                    $("#dialog-form").css("display", "block");
                    $("#dialog-form").css("top", "50%");
                    $("#dialog-form").css("left", "50%");
                    $("#dialog-form").css("backgroundColor","white");
            $("#dialog-form").load("externalpage.php");
        });
    });
    

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你需要将结果发回php页面。因此,您可以使用jQuery POST发送使用jQuery读取的值。