POST公式提交了隐藏输入的错误值

时间:2017-02-08 10:07:50

标签: javascript php html5 forms post

我遇到了问题,html5中的POST公式提交了隐藏输入的错误值。但是,更多信息可能会有所帮助。

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(字符串)`。

编辑:我不知道它是什么,但现在它有效!

1 个答案:

答案 0 :(得分:0)

工作正常。但是如果你使用一些旧的浏览器意味着它可能无法正常工作。在id中使用点(。)不是一个好习惯。因为(。)通常与css和JavaScript中的类一起使用。无论如何它都会起作用,但这不是一个好习惯。因此,如果您使用的是旧浏览器,请在输入元素中更改id(。)以及JavaScript函数