UL 在形式上不将数据发送到 $_POST
ul in form not sending data to $_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
变量?
我试过这篇文章不起作用。然后,我从这个bootsrap模板注册表单中得到了这个表格,但我真的不知道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 & Conditions</strong></span></label>
</div>
</div>
<input type="submit" class="btn btn-submit"></input>
</form>
试试这个:
<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);
});
});
测试.php
<?php
if(isset($_POST["v"]) && $_POST["v"] != "") {
echo $_POST["v"];
exit;
}
?>
我假设您的 HTML 和 PHP 文件在同一个文件夹中。并且您已经在HTML中包含jQuery
库。
<ul>
和<li>
不是发送值的表单标签,您需要改用<select>
。
<select name="type">
<option value="doctor">Doctor</option>
<option value="patient">Patient</option>
</select>
在 <ul> <li>
标记中,无法选择值。如果您使用的是任何预定义的 jquery 库,那么您可以通过发布数据传递。否则,根据您的要求将ul li标签更改为"单选按钮或复选框或选择"。
使用以下代码我解决了问题
<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 & Conditions</strong></span></label>
</div>
</div>
<input type="submit" class="btn btn-submit"></input>
</form>
在 li
标记中添加一个属性。例:
<li class="animated lightSpeedIn" name_pressed="Doctor"><a href="#">Doctor</a></li>
我假设您有一个单击li
的事件.如果没有,您可以添加一个类。当您单击具有相应类的li
时,请获取该属性。在此示例中,您将从name_pressed
属性中获取"医生",并在所需的页面上使用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
事件。检查这个
相关文章:
- 下载使用POST数据动态生成的文件
- 如何从HTTP上下文对象中获取Post数据
- 可以't通过Angular$resource POST数据
- 如何在IE CORS中发送POST数据(使用XDomainRequest)
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载
- 追加 POST 数据 javascript
- Angular 中的 HTTP 服务将 POST 数据作为请求正文的键发送,没有值
- 从chrome扩展创建一个包含POST数据的链接
- 如何使用AJAX打印PHP POST数据?(没有jQuery)
- Javascript POST数据进入GET PHP数组
- PHP没有从$.ajax获取POST数据
- 为什么cgi-POST数据被篡改和截断
- Ajax XML的POST数据值发生更改
- POST数据没有'不包含任何表单数据
- firebug:如何在firebug控制台中发送POST数据
- IE11不发送HTTP POST数据
- 使用POST数据引用jsfiddle.net
- 保存每个POST数据的Chrome扩展
- 如何将PHP Post数据获取到jquery ajax请求中
- 如何在选择Select Box值时将参数作为POST数据传递,这将重新加载同一页面