我正在尝试制作一个小表单,让用户从 3 个不同的单选按钮列表中选择一个元素,以将一个元素设置为用户活动元素(将存储到 MySQL)。不知何故,它不起作用,我似乎无法弄清楚为什么,也许你们中的某个人可以看到我做错了什么?
HTML:
<form name="activeForm1" method="post">
<fieldset data-role="controlgroup">
<div class="ui-radio">
<input type="radio" name="active" value="1" id="1">
<label for="1"></label></input>
</div>
<div class="ui-radio">
<input type="radio" name="active" value="2" id="2">
<label for="2"></label></input>
</div>
<div class="ui-radio">
<input type="radio" name="active" value="3" id="3">
<label for="3"></label></input>
</div>
</fieldset>
<div data-role="footer">
<input type="submit" href="#" onclick="setActive(1)"/>
</div>
</form>
JavaScript / Ajax 调用
function setActive(formid)
{
$.ajax(
{
type:'POST',
url:'active.php',
data:$('#activeForm'+formid).serialize(),
success:function(response)
{
}
}
);
}
PHP代码:
session_start();
include('connectToDb.php');
$id = $_SESSION['id'];
if (isset($_POST['active']))
{
$formValue = $_POST['active'];
mail('my@mail.com','Test',$formValue,'From: dummy@mail.com');
mysql_query(/* UPDATE MySQL */);
header("Location: main.php");
}
else
{
mail('my@mail.com','Test','No data recieved!','From: dummy@mail.com');
}
所以它一直有效,if (isset($_POST['active']))
但随后给我发邮件说没有收到任何数据。我在同一页面上已经有 2 个类似的表格,它们更大,运行没有问题。无法弄清楚我在这里做错了什么。