私の問題は、POSTの形式がhtml5
であり、隠れた入力の値が間違っています。しかし、より多くの情報が役に立つかもしれません。POST formularが隠れた入力の間違った値を投稿しています
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(String)を提出し `。
編集:それは何だったのか分かりませんが、今は動作します!
を変更してください。 –
正しく動作していれば、input.edit.user.activityを確認できます関数をconsole.log(document.getElementById( 'input.edit.user.activity')。value)で使用します。 –
あなたはあなたがページを提出したときにページを再読み込みし、入力値0を再び設定するので、別のページを投稿することができます。 –