POST 公式器正在提交隐藏输入的错误值



>我有一个问题,我的 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(.(

最新更新