.load包含表单变量的页面

时间:2014-05-07 11:27:06

标签: javascript php jquery

我想从表单加载包含变量的页面,似乎它没有得到我的选择值。我是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>

我有一个序列化的工作,但我不想要那个。这是工作代码:

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);
        }
    });
}

3 个答案:

答案 0 :(得分:1)

您的表单id和下拉列表id相同。 这就是你得到这个问题的原因。 更改它将正常工作的ID。

答案 1 :(得分:0)

使用jquery方法$ .val(),如:

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

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

答案 2 :(得分:0)

加载使用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});

然后,您可以使用$_POST['tip']$_POST['id']在select_tip_rezervare.php页面上获取您的值。