加载带有表单变量的页面

.load page with form variables

本文关键字:变量 表单 加载      更新时间:2023-09-26

我想从表单加载一个页面变量,似乎它没有得到我的选择值。我是JavaScript的新手,我需要做一个序列化来获取值,然后使用.load()。下面是我的代码:

<?php
    include('dbconfig.php');
    $id=$_GET['id'];
?>
<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script>
            function filtreaza_tip () {
                var tip = document.getElementById("tip").value;
                var id_local= document.getElementById("id_local").value;
                $( "#tipuri_rezervare" ).load("select_tip_rezervare.php?id="+id_local+"&tip="+tip);
            }
        </script>
    </head>
    <body>
        <form id="tip" method="post">
        <input type="hidden" name="id_local" id="id_local" value="<?php echo $id;?>">
        <select name="tip" id="tip" onchange="filtreaza_tip();">
        <option value="0">Selectati Tipul</option>
            <?php
                $stmt = $dbh->prepare("SELECT * 
                                       FROM Tip_Rezervare  
                                       INNER JOIN Local ON Local.ID_Local=:id_local
                                       INNER JOIN Leg_Tip_Local ON Tip_Rezervare.ID_Tip=Leg_Tip_Local.ID_Tip and Leg_Tip_Local.ID_Local=:id_local");
                $stmt->bindParam(':id_local', $id, PDO::PARAM_INT);
                $stmt->execute() ;
                while ($row = $stmt->fetch()) {
                    $local=$row['Denumire_Local'];
                    echo '<option value="'.$row['ID_Tip'].'">'.$row['Nume'].'</option>';
                }    
                echo'</select>';        
            ?>
            <div id="tipuri_rezervare">
            </div>
    </body>
</html>

我有一个serialize,但我不想要它。下面是工作代码:

function filtreaza_tip ()
{
    var datastring = $("#tip").serialize();
    $.ajax({
        type: "POST",
        url: "tip_rezervare.php",
        data: datastring,
        success: function(data) {      
             $( "#tipuri_rezervare" ).load('select_tip_rezervare.php?',data);
        }
    });
}

您的表单id和下拉框id是相同的。这就是你得到这个问题的原因。修改id就可以了

Load使用POST方法,所以你可以这样做:

var tip = document.getElementById("tip").value;
var id_local= document.getElementById("id_local").value;
$( "#tipuri_rezervare" ).load("select_tip_rezervare.php, {tip: tip, id: id_local});

然后你可以得到你的值在你的select_tip_rezervare.php页面与$_POST['tip']$_POST['id']

像这样使用jquery方法$.val():

$("#tip").val(); // Return the input / select value of the selector

查看jQuery Api: http://api.jquery.com/val/