使用ajax帖子时如何从其他人那里获得价值?

时间:2014-10-15 02:17:16

标签: javascript php jquery ajax

如何在使用ajax帖子时从其他人​​那里获得价值?

我想从demo.php中的输入type="text" class="nextpage"获取值 在index.php中输入<input type='hidden' id='page_number' name='page' value='1'/>

我尝试做这样的代码,但没有工作,我该怎么做?

的index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
</head>





<script>
  $(document).ready(function(){ // onload page for load content //    
        document.getElementById('page_number').value = '1'; 
        $.ajax
        (
            {
                url: 'demo.php',
                type: 'POST',
                data: $('#xxx1').serialize(),
                cache: false,
                success: function (data) {
                    $("#results").append(data); 
                    function_two();
                }
            }
         )
  });
</script>

    <form method="post" id="xxx1" action="Javascript:void(0);">
        <input type='hidden' id='page_number' name='page' value='1'/>
    </form>



<script>
  $(document).ready(function(){ // click button for load content //
      $("#Button").click(function(e){    
        var page = $('#results').find('.nextpage').val();
        document.getElementById('page_number').value = page++; 
        $.ajax
        (
            {
                url: 'demo.php',
                type: 'POST',
                data: $('#xxx2').serialize(),
                cache: false,
                success: function (data) {
                    $("#results").append(data); 
                    function_two();
                }
            }
         )
  });
});
</script>

    <form method="post" id="xxx2" action="Javascript:void(0);">
        <input type='hidden' id='page_number' name='page' value='1'/>
    </form>



<div id="results" style=" width: 100%; "></div>
<input type="submit" id="Button" value="OK">

demo.php

<?PHP
$page = $_POST[page];
$nextpage = ($page+1);
?>
<input type='text' class='nextpage' value='<?PHP echo $nextpage; ?>'>

2 个答案:

答案 0 :(得分:0)

好的,我从重复的ID名称page_number

得到答案,问题原因

只需更改

document.getElementById('page_number').value = '1';

document.getElementById('page_number_1').value = '1';

并更改

<form method="post" id="xxx1" action="Javascript:void(0);">
    <input type='hidden' id='page_number' name='page' value='1'/>
</form>

<form method="post" id="xxx1" action="Javascript:void(0);">
    <input type='hidden' id='page_number_1' name='page' value='1'/>
</form>

它会起作用.......

答案 1 :(得分:0)

我稍微修改了你的代码。而是从PHP页面返回整个HTML输入,我只返回页码并使用jquery追加前端的输入。 希望这对你有用

**index.php**
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <head>
    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    </head>
    <script>
        $(document).ready(function(){ // onload page for load content //    
            document.getElementById('page_number').value = '1'; 
            $.ajax
            (
                {
                    url: 'demo.php',
                    type: 'POST',
                    data: $('#xxx1').serialize(),
                    cache: false,
                    dataType:'json',
                    success: function (data) {
                        $("#results").append("<input type='text' class='nextpage' value='"+data.page_number+"'>"); 
                        function_two();
                    }
                }
            )
        });
    </script>

    <form method="post" id="xxx1" action="Javascript:void(0);">
        <input type='hidden' id='page_number' name='page' value='1'/>
    </form> 
    <script>
        $(document).ready(function(){ // click button for load content //
            $("#Button").click(function(e){    
                var page = $('#results').find('.nextpage').val();
                document.getElementById('page_number').value = page++; 
                $.ajax
                (
                    {
                        url: 'demo.php',
                        type: 'POST',
                        data: $('#xxx2').serialize(),
                        dataType:'json',
                        cache: false,
                        success: function (data) {
                            $("#results").append("<input type='text' class='nextpage' value='"+data.page_number+"'>"); 
                            function_two();
                        }
                    }
                )
            });
        });
    </script>

    <form method="post" id="xxx2" action="Javascript:void(0);">
        <input type='hidden' id='page_number' name='page' value='1'/>
    </form>

    <div id="results" style=" width: 100%; "></div>
    <input type="submit" id="Button" value="OK">


**demo.php**

<?PHP
    $page = $_POST[page];
    $nextpage = ($page+1);
    if($nextpage){
        echo json_encode(array("page_number" => $nextpage));
    }
?>