ul表格不发送数据到$ _POST

时间:2016-02-15 10:06:17

标签: javascript php html css post

我有一个带有ul的表单作为下拉菜单:

<div class="dropdown">
    <button id="dLabel" class="form-control form-white dropdown" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Account Type

                     医生             患者              

如何将我选择的内容发送到 PHP $_POST变量?

我试过this post没有用。然后,我从this bootsrap templates注册表单中获取此表单,但我并不真正了解javascript。

以下是完整的表单代码:

<form action="account.php" class="popup-form" method="post">
    <input type="text" name="fname" class="form-control form-white" placeholder="Full Name">
    <input type="text" name="email" class="form-control form-white" placeholder="Email Address">
    <input type="text" name="username"  class="form-control form-white" placeholder="User Name">
    <input type="password" name="passwrd" class="form-control form-white" placeholder="Password">
    <div class="dropdown">
        <button id="dLabel" class="form-control form-white dropdown" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Account Type
        </button>
        <ul class="dropdown-menu animated fadeIn" role="menu" aria-labelledby="dLabel">
            <li class="animated lightSpeedIn"><a class="cl" href="#">Doctor</a></li>
            <li class="animated lightSpeedIn"><a class="cl" href="#">Patient</a></li>
        </ul>
    </div>
    <div class="checkbox-holder text-left">
        <div class="checkbox">
            <input type="checkbox" value="None" id="squaredOne" name="check" />
            <label for="squaredOne"><span>I Agree to the <strong>Terms &amp; Conditions</strong></span></label>
        </div>
    </div>
    <input type="submit" class="btn btn-submit"></input>
</form>

5 个答案:

答案 0 :(得分:1)

试试这个:

<div class="dropdown">
    <button id="dLabel" class="form-control form-white dropdown" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        Account Type
    </button>
    <ul class="dropdown-menu animated fadeIn" role="menu" aria-labelledby="dLabel">
        <li class="animated lightSpeedIn"><a class="cl" href="#">Doctor</a></li>
        <li class="animated lightSpeedIn"><a class="cl" href="#">Patient</a></li>
    </ul>
</div>

JS代码:

$(".cl").click(function () {
     var val = $(this).html();
     $.post("test.php",{v:val},function (data){
       alert(data);
     });
 });

test.php的

<?php
if(isset($_POST["v"]) && $_POST["v"] != "") {
   echo $_POST["v"];
   exit;
}
?>

我假设您的HTML和PHP文件位于同一文件夹中。您的HTML中包含jQuery库。

答案 1 :(得分:0)

<li><select>不是发送值的表单标记,您需要使用<select name="type"> <option value="doctor">Doctor</option> <option value="patient">Patient</option> </select>

request.getBody()

答案 2 :(得分:0)

<ul> <li>代码中,您无法选择值。如果您使用任何预定义的jquery库,那么您可以通过发布数据传递。否则将ul li标签更改为&#34;单选按钮或复选框或选择&#34;根据你的要求。

答案 3 :(得分:0)

使用以下代码我修复了问题

            <form action="account.php" class="popup-form" method="post">
                <input type="text" name="fname" class="form-control form-white" placeholder="Full Name">
                <input type="text" name="email" class="form-control form-white" placeholder="Email Address">
                <input type="text" name="username" class="form-control form-white" placeholder="User Name">
                <input type="password" name="passwrd" class="form-control form-white" placeholder="Password">
                <input class="span2" id="a_type" name="a_type" type="hidden">
                <div class="dropdown">
                    <button id="dLabel" class="form-control form-white dropdown" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        Account Type
                    </button>
                    <ul class="dropdown-menu animated fadeIn" role="menu" aria-labelledby="dLabel">
                        <li onclick="$('#a_type').val('Doctor'); $('#searchForm').submit()" class="animated lightSpeedIn"><a class="cl" href="#">Doctor</a></li>
                        <li onclick="$('#a_type').val('Patient'); $('#searchForm').submit()" class="animated lightSpeedIn"><a class="cl" href="#">Patient</a></li>
                    </ul>
                </div>
                <div class="checkbox-holder text-left">
                    <div class="checkbox">
                        <input type="checkbox" value="None" id="squaredOne" name="check" />
                        <label for="squaredOne"><span>I Agree to the <strong>Terms &amp; Conditions</strong></span></label>
                    </div>
                </div>
                <input type="submit" class="btn btn-submit"></input>
            </form>

答案 4 :(得分:-1)

li标记中添加属性。例如:

<li class="animated lightSpeedIn" name_pressed="Doctor"><a href="#">Doctor</a></li>

我认为您有点击li的活动。如果没有,您可以添加一个类。当您单击具有相应类的li时,请使用该属性。在此示例中,您将从name_pressed属性中获取“Doctor”,并在您想要的页面上使用if重定向。

像这样:

<li class="animated lightSpeedIn clickable_li" name_pressed="Doctor">Doctor</li>

和javascript:

$(".clickable_li").click(function (e) {
    var name = $(this).attr('name_pressed');

    if (name == 'Doctor') {
        //make something
    }
});

或者您可以添加onClick个活动。查看this