0

我会尽量解释清楚。我所做的是使用 ajax 加载页面的一部分,然后使用简单的 jquery 访问加载了 ajax 的那部分 dom。在 main.html 我加载了 dom 部分,dom 部分来自一个 php 文件,它只是回显我需要的 html,可以说它在 main.html 中称为 call_me.php 的 php 文件已经加载了 js,所以基本上,由于某种原因,它无法访问加载 ajax 的 dom。我所做的工作是将我需要在那个dom部分上工作的js放在call_me.php中那个js的一部分没有被call_me.php回显,并且由于某种原因它起作用了,我在其中搜索了js代码检查元素,根本找不到它,有人可以告诉我发生了什么吗?或向我解释这是如何工作的?我使用的ajax代码是:

$('.general').click(function(){
    $('.contents').html("");
    $.ajax({
        type: 'GET',
        url: 'src/user_setting.php',
        data: 'target='+$('.user_target_id').val(),
        success: function(msg){
            $('.contents').html(msg);

        }
    });
});

这是php代码

<?php 

    require '../config/global.php';
    if (isset($_GET['target']) && isset($_SESSION['userId'])) {
        $target = security($_GET['target']);
        $from = security($_SESSION['userId']);
    echo<<< html
    <input name = "target" type = "hidden" class = "target" value = "$target">
    <input name = "from" type = "hidden" class = "from" value = "$from">
    <div class ="container form-container2">
    <div class="alert alert-success confirm">
        <a class="close" data-dismiss="alert">&times;</a>
        Mesajul a fost trimis cu success !
    </div>
    <div class="alert alert-error confirm-error">
        <a class="close" data-dismiss="alert">&times;</a>
        Mesajul nu poate fi trimis !
    </div>

        <table>
            <tr>
                <td><span>Subiect</span></td> 
                <td><input name = "title" class = "span3 title" type = "text"  ></td>
            </tr>
            <tr>
                <td colspan="2"><textarea name = "body" class = "span5 msg" ></textarea></td>
            </tr>

            <tr>
                <td><button class = "btn btn-inverse send">Trimite mesaj</button></td>
            </tr>
        </table>

    </div>
html;
    }
 ?>
 <script type="text/javascript">
    $(".confirm").hide();
    $(".confirm-error").hide();
    $('.send').click(function(){

        $.ajax({
               type: "POST",
               url: "src/send_message.php",
               data: $(".target").serialize()+"&"+$(".from").serialize()+"&"+$(".title").serialize()+"&"+$(".msg").serialize(), 
               success: function(data)
               {
                 if (data == "ok") {
                    $(".confirm").slideDown();
                    $(".confirm-error").hide();
                    $(".title").val("");
                    $(".msg").val("");                  
                }else{
                    $(".confirm-error").slideDown();
                }
               }
         });
    });
 </script>

如果在加载 ajax 的 dom 上使用 javascript 有更好的方法,请告诉我,我是 web 开发的新手

4

0 回答 0