0

送信ボタンにonclickを追加したばかりのソリューションを見つけました。非表示フィールドの値を更新すると、ページネーションが表示され、ページネーションアンカーでページネーションを表示するために使用しました。 ajax を使用して pageno と制限を投稿した pagin 関数の問題は、$_POST['limits'] で制限の ajax データを取得していますが、$_POST['pageno'] を使用したため pageno の値を取得できないのはなぜですか?

for($i=1; $i<=$pages; $i++)
echo '<td id="'.$i.'"><a href="javascript:void(0);" class="pagenav" id="but'.$i.'"  style="cursor: hand;cursor: pointer;font-size:18px" onclick="javascript: pagin('.$i.'); ">'.$i.'</a></td>';} 



<script>
            function pagin(value){
    var f = document.getElementById('pageno').value="";
var option = document.getElementById('mydisplaylimits').value="";
var limits = document.getElementById('limits').value;
var pageno = document.getElementById('pageno').value = +value;

        $.ajax({
  type: "POST",
  url: "page.php",
  data: {
       limits: limits,
 pageno: pageno
    },
  success: function() {


  } 
});
    }
    //-->
    </script>


<form action="page.php" method="post" id="pagination" name="pagination">
    <input type="HIDDEN" value=""  id ="limits" name="limits">
    <input type="HIDDEN" id="pageno" value="" name="pageno">
    <select style="border: 2px outset rgb(204, 51, 0);" size="1" name="mydisplaylimit" id="mydisplaylimit" >
    <option value="5" selected="selected" id="mydisplaylimits"  >5</option>
    <option value="10" id="mydisplaylimits"  value="10" >10</option>
    <option value="20"  id="mydisplaylimits"  >20</option>
    <option value="50" id="mydisplaylimits"    >50</option>
    </select><input type="SUBMIT" value="GO"  style="border: 2px outset rgb(204, 51, 0);" class="form_enter" onclick="$('#limits').val($('#mydisplaylimit').val())"></form>
4

2 に答える 2

0

非表示の入力が必要な理由がわかりません。のデフォルトオプションを<select>投稿された値に設定するだけです。

<form action="page.php" method="post" id="pagination" name="pagination">
    <input type="HIDDEN" id="pageno" value="" name="pageno">
    <select style="border: 2px outset rgb(204, 51, 0);" size="1" name="mydisplaylimit" id="mydisplaylimit">
<?php
$default_limit = isset($_POST['mydisplaylimit']) ? $_POST['mydisplaylimit'] : 5;
foreach (array(5, 10, 20, 50) as $option) {
    ?>
    <option value="<?php echo $option ?>" <? if($option == $default_limit) { echo "selected"; } ?> >
    <?php
}
?>
    </select>
    <input type="SUBMIT" value="GO"  style="border: 2px outset rgb(204, 51, 0);" class="form_enter">
</form>
于 2013-10-05T07:32:36.427 に答える