【问题标题】:Checkbox for confirming terms of service用于确认服务条款的复选框
【发布时间】:2017-05-06 16:09:10
【问题描述】:

我想知道如何设置一个显示...的复选框

我同意条款和条件

但是只有当复选框被点击时,用户才能点击注册按钮。

这是我整个注册页面的大部分代码。

<body class="login-body">
		
		<div class="container">
			<form class="form-signin" action="/register" method="POST">
				<h2 class="form-signin-heading"><?php echo $website;?></h2>
				<div class="login-wrap">
					<?php
						if (isset($_POST['username']) && isset($_POST['password']) && isset($_POST['confirmpassword']) && isset($_POST['email'])) {
							$username = mysqli_real_escape_string($con, $_POST['username']);
							$password = mysqli_real_escape_string($con, md5($_POST['password']));
							$confirmpassword = mysqli_real_escape_string($con, md5($_POST['confirmpassword']));
							$email = mysqli_real_escape_string($con, $_POST['email']);
							
							if($password != $confirmpassword) {
								echo "<div class=\"alert alert-danger\">The passwords you entered do not match.</div>";
								$error = 'yes';
							}
							
							
							if(strlen($_POST['password']) < 8) {
								echo "<div class=\"alert alert-danger\">Your password must be atleast 8 characters!</div>";
								$error = 'yes';
							}
							
							if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
								$error = 'yes';
								echo "<div class=\"alert alert-danger\">The email you entered is invalid.</div>";
							}
							
							$result = mysqli_query($con, "SELECT * FROM `users` WHERE `username` = '$username'") or die(mysqli_error($con));
							if (mysqli_num_rows($result) > 0) {
								$error = 'yes';
								echo "<div class=\"alert alert-danger\">This username already exists.</div>";
							}
							
							$result = mysqli_query($con, "SELECT * FROM `users` WHERE `email` = '$email'") or die(mysqli_error($con));
							if (mysqli_num_rows($result) > 0) {
								$error = 'yes';
								echo "<div class=\"alert alert-danger\">The email you entered can not be used.</div>";
							}
							
							$ip = mysqli_real_escape_string($con, $_SERVER['REMOTE_ADDR']);
							$date = date('Y-m-d');
							if ($error != 'yes') {
								mysqli_query($con, "INSERT INTO `users` (`username`, `password`, `email`, `date`, `ip`) VALUES ('$username', '$password', '$email', '$date', '$ip')") or die(mysqli_error($con));
								header("Location: /login?action=registered");
							}
						}
						
					?>
					<input type="text" id="username" name="username" class="form-control" placeholder="Username" value="<?php echo $_POST['username'] ?>" autofocus>
					<input type="password" id="password" name="password" class="form-control" placeholder="Password">
					<input type="password" id="confirmpassword" name="confirmpassword" class="form-control" placeholder="Confirm Password">
					<input type="text" id="email" name="email" class="form-control" placeholder="Email" value="<?php echo $_POST['email'] ?>">
					<button class="btn btn-lg btn-login btn-block" type="submit">Register</button>
				</form>
				
				<div class="registration">
					Already have an account?&nbsp
					<a class="" href="/login">
						Sign In
					</a>
				</div>
				
			</div>
			
			
		</div><!-- end .container -->

【问题讨论】:

标签: php checkbox


【解决方案1】:

在页面加载时设置寄存器button disabled,并根据复选框更改更改disabled true or false

$('#submit_form').prop('disabled',true);

$('#terms').change(function()
{
   $('#submit_form').prop('disabled',!$(this).is(':checked'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="terms" id="terms" />

<input type="submit" id="submit_form" value="register" />

【讨论】:

    【解决方案2】:

    您可以使用内联javascript,并使用onchange event

    <input type="checkbox"  onchange="document.getElementById('submit_form').disabled = !this.checked;" />
    
    <input type="submit" id="submit_form" value="register" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-06
      • 2023-04-10
      • 1970-01-01
      • 2012-08-03
      相关资源
      最近更新 更多