我正在构建一个只有一个用于“登录”和“注册”按钮的登录系统。
<button type="submit" form="LoginForm" id="login"></button>
切换到注册后,我更改了按钮属性,反之亦然:
function showSignUp(){
document.getElementById('username').style.display = "block";
document.getElementById('mail').style.display = "block";
document.getElementById('password').style.display = "block";
document.getElementById('password-repeat').style.display = "block";
document.getElementById('token').style.display = "none";
document.getElementById('login').setAttribute("name","signup");
document.getElementById('login').setAttribute("value","signup");
}
<label for="rdo-signup" class="btn-radio">
<input type="radio" id="rdo-signup" name="radio-grp" onclick="showSignUp()">
...
问题是我提交表单时$_POST['signup']
为空。
当我在HTML属性中使用name="login" value="login"
加载PHP时,它确实起作用,但是一旦我再次更改注册,它就不再起作用。
我敢肯定,由于服务器端代码和客户端更改,我正在弄些什么,但是我不知道该如何更改/解决此问题?
[解决方案]
问题是必填字段。即使它们被隐藏,在我填满它们之前,它们仍然不会让我提交。
答案 0 :(得分:0)
我已经做了一个类似的设计并使其起作用。请看下面的代码。 希望有帮助
HTML表单:
<script type="text/javascript">
function showSignUp(){
document.getElementById('username').style.display = "block";
document.getElementById('mail').style.display = "block";
document.getElementById('password').style.display = "block";
document.getElementById('password-repeat').style.display = "block";
document.getElementById('token').style.display = "none";
document.getElementById('login').setAttribute("name","signup");
document.getElementById('login').setAttribute("value","signup");
}
</script>
<form action="form.php" method="POST" id="LoginForm">
<input type="text" name="user" id="username" placeholder="username"><br><hr>
<input type="mail" name="mail" id="mail" placeholder="mail"><br><hr>
<input type="password" name="password" id="password" placeholder="password"><br><hr>
<input type="password" name="password-repeat" id="password-repeat" placeholder="confirm password"><br><hr>
<input type="text" name="token" id="token" placeholder="token"><br><hr>
<button type="submit" form="LoginForm" id="login" name="login" value="login">login</button>
<button type="button" id="change">signup</button>
</form>
<script type="text/javascript">
document.getElementById('change').onclick = function(){
document.getElementById('login').setAttribute('name','signup');
document.getElementById('login').innerHTML = 'signup';
document.getElementById('login').setAttribute('value','signup');
}
</script>
PHP操作:
<?php
echo $_POST["signup"];
echo $_POST["login"];
?>