>我有一个问题,我的 POST 公式html5
提交了隐藏输入的错误值。但是,更多信息可能会有所帮助。
function changeActivity () {
if(document.getElementById('input.edit.user.activity').value=="0"){
document.getElementById('input.edit.user.activityButon').className="btn-block btn-lg btn-danger";
document.getElementById('input.edit.user.activityButon').innerHTML="Mark user as inactive";
document.getElementById('input.edit.user.activity').value="1";
}else{
document.getElementById('input.edit.user.activityButon').className="btn-block btn-lg btn-success btn-block";
document.getElementById('input.edit.user.activityButon').innerHTML="Mark user as active";
document.getElementById('input.edit.user.activity').value="0";
}
}
<form action="" method="post">
<input type="hidden" name="user_activity" id="input.edit.user.activity" value="1">
<button class="btn-block btn-lg btn-danger btn-block" type="button" onclick="changeActivity()" id="input.edit.user.activityButon" style="border-style: none">Mark user as inactive</button>
<button class="btn-block btn-lg btn-primary" type="submit" style="border-style: none;margin-bottom: 0.3%;">Update user</button>
</form>
因此,当我在 PHP 中提交时,$_POST['user_activity']
始终为 0(字符串('。
编辑:我不知道它是什么,但现在它可以工作了!
工作正常。但是,如果您使用的是某些旧浏览器,则意味着它可能无法正常工作。在id中使用dot(.(不是一个好的做法,因为(.(通常与css和JavaScript中的class一起使用。无论如何它都会起作用,但这不是一个好的做法。因此,如果您使用的是旧浏览器,请从输入元素中的 id 以及 JavaScript 函数更改 dot(.(