我可以看到我的代码没有问题,但每当我按下submit
按钮时,都没有任何反应:
<form id = "form_signin_containers" action = "" method = "post">
<input type = "text" name = "si_idnumber" placeholder = "ID Number" required/>
<input type = "password" name = "si_password" placeholder = "Password" required/>
<input type = "submit" name = "si_submit" value = " sign in ">
</form>
我尝试在我的html代码上面的php代码中添加一个isset按钮来测试它:
if(isset($_POST['si_submit'])) {
header("Location:home.php");
}
当我按下提交按钮时,它仍然无效。我也注意到,因为我在所有文本框上放了一个<...required/>
,如果我点击提交按钮,它会通知我文本框是否为空?但是当我将文本框留空并按下提交按钮时,它仍然无法执行任何操作,它甚至不会告诉我文本框是空的。好像按钮已经死了。
更新的
我有javascript
我放在</body>
之前,只要我点击一个锚点按钮,就会使页面顺畅滚动。
我的锚按钮示例:
<form id = "form_createaccount_button" action="#createchooserblink">
<input type="submit" value=" create account " />
</form>
JS:
<script>
$(function() {
$('input').click(function(e) {
e.preventDefault();
var hash = $(this).parent('form').attr('action');
var target = $(hash);
target = target.length ? target : $('[name=' + hash.slice(1) +']');
if (target.length) {
$('html, body').animate({
scrollTop: target.offset().top
}, 1000);
}
});
});
</script>
这会影响登录表单吗?
答案 0 :(得分:5)
是的,您的JavaScript阻止了表单提交:
$('input').click(function(e) {
e.preventDefault();
// ...
单击“提交”按钮会触发该单击处理程序,并阻止默认操作阻止表单提交。
您可以通过添加name="si_submit"
:
:not([name=si_submit])
按钮
$('input:not([name=si_submit])').click(function(e) {
e.preventDefault();
// ...
...但我认为不是这样做,我可能会在“锚点按钮”上使用类或其他东西(或根本不使用“锚点按钮”),而是添加该类。 E.g:
<form id = "form_createaccount_button" action="#createchooserblink">
<input type="submit" class="anchor-button" value=" create account " />
</form>
和
$('input.anchor-button').click(function(e) {
e.preventDefault();
// ...
答案 1 :(得分:-2)
试试这个:
<form id="form_signin_containers" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
<input type="text" name="si_idnumber" placeholder="ID Number" required>
<input type="password" name="si_password" placeholder="Password" required>
<input type="submit" value="sign in">
</form>