有没有人知道我的HTML表单为什么不提交任何内容?一旦我点击提交按钮,它什么都不做?不知道发生了什么,检查了一切,不能理解它的头脑?如果有人可能有想法,那将非常有帮助,谢谢!
<div class="row">
<div class="col-md-6">
<div class="alert alert-success hidden" id="contactSuccess">
<strong>Success!</strong> Your message has been sent to us.
</div>
<div class="alert alert-danger hidden" id="contactError">
<strong>Error!</strong> There was an error sending your message.
</div>
<form name="register" action="register.php" id="contactForm" type="POST">
<div class="row">
<div class="form-group">
<div class="col-md-6">
<label>First name *</label>
<input type="text" value="" data-msg-required="Please enter your first name." maxlength="100" class="form-control" name="first_name" id="name">
</div>
<div class="col-md-6">
<label>Last name *</label>
<input type="text" value="" data-msg-required="Please enter your last name." maxlength="100" class="form-control" name="last_name" id="name">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<label>Your email address *</label>
<input type="email" value="" data-msg-required="Please enter your email address." data-msg-email="Please enter a valid email address." maxlength="100" class="form-control" name="email_address" id="email">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-6">
<label>Username *</label>
<input type="text" value="" data-msg-required="Please enter a valid username." maxlength="100" class="form-control" name="username" id="name">
</div>
<div class="col-md-6">
<label>Contact Number *</label>
<input type="number" value="" data-msg-required="Please enter your mobile number." maxlength="100" class="form-control" name="mobile" id="name">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-6">
<label>Date of birth *</label>
<br>
<fieldset class="date">
<select id="date1" name="date1" />
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select id="date2" name="date2" />
<option>Jan</option>
<option>Feb</option>
<option>Mar</option>
<option>Apr</option>
<option>May</option>
<option>Jun</option>
<option>Jul</option>
<option>Aug</option>
<option>Sep</option>
<option>Oct</option>
<option>Nov</option>
<option>Dec</option>
</select>
<select id="date3" name="date3" />
<option>1905</option>
<option>1906</option>
<option>1907</option>
<option>1908</option>
<option>1909</option>
<option>1910</option>
<option>1911</option>
<option>1912</option>
<option>1913</option>
<option>1914</option>
<option>1915</option>
<option>1916</option>
<option>1917</option>
<option>1918</option>
<option>1919</option>
<option>1920</option>
<option>1921</option>
<option>1922</option>
<option>1923</option>
<option>1924</option>
<option>1925</option>
<option>1926</option>
<option>1927</option>
<option>1928</option>
<option>1929</option>
<option>1930</option>
<option>1931</option>
<option>1932</option>
<option>1933</option>
<option>1934</option>
<option>1935</option>
<option>1936</option>
<option>1937</option>
<option>1938</option>
<option>1939</option>
<option>1940</option>
<option>1941</option>
<option>1942</option>
<option>1943</option>
<option>1944</option>
<option>1945</option>
<option>1946</option>
<option>1947</option>
<option>1948</option>
<option>1949</option>
<option>1950</option>
<option>1951</option>
<option>1952</option>
<option>1953</option>
<option>1954</option>
<option>1955</option>
<option>1956</option>
<option>1957</option>
<option>1958</option>
<option>1959</option>
<option>1960</option>
<option>1961</option>
<option>1962</option>
<option>1963</option>
<option>1964</option>
<option>1965</option>
<option>1966</option>
<option>1967</option>
<option>1968</option>
<option>1969</option>
<option>1970</option>
<option>1971</option>
<option>1972</option>
<option>1973</option>
<option>1974</option>
<option>1975</option>
<option>1976</option>
<option>1977</option>
<option>1978</option>
<option>1979</option>
<option>1980</option>
<option>1981</option>
<option>1982</option>
<option>1983</option>
<option>1984</option>
<option>1985</option>
<option>1986</option>
<option>1987</option>
<option>1988</option>
<option>1989</option>
<option>1990</option>
<option>1991</option>
<option>1992</option>
<option>1993</option>
<option>1994</option>
<option>1995</option>
<option>1996</option>
<option>1997</option>
<option>1998</option>
<option>1999</option>
<option>2000</option>
<option>2001</option>
<option>2002</option>
<option>2003</option>
<option>2004</option>
<option>2005</option>
<option>2006</option>
<option>2007</option>
<option>2008</option>
<option>2009</option>
<option>2010</option>
<option>2011</option>
<option>2012</option>
<option>2013</option>
<option>2014</option>
</select>
</fieldset>
</div>
<div class="col-md-6">
<label>Contact Number *</label>
<input type="radio" name="gender" value="Male">Male
<input type="radio" name="gender" value="Female">Female
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<input type="submit" name="Submit" value="Register" class="btn btn-lg btn-primary">
</div>
</div>
</form>
</div>
我在我的网站上使用联系表格的副本作为注册表格,因为它看起来好多了,也许这是其中一个原因?
按要求注册Register.php:
<?
include 'core/init.php';
// Define post fields into simple variables
$first_name = mysql_real_escape_string($_POST['first_name']);
$last_name = mysql_real_escape_string($_POST['last_name']);
$email_address = mysql_real_escape_string($_POST['email_address']);
$username = mysql_real_escape_string($_POST['username']);
$mobile = $_POST['mobile'];
$gender = $_POST['gender'];
$date1 = $_POST['date1'];
$date2 = $_POST['date2'];
$date3 = $_POST['date3'];
/* Let's strip some slashes in case the user entered
any escaped characters. */
$first_name = stripslashes($first_name);
$last_name = stripslashes($last_name);
$email_address = stripslashes($email_address);
$username = stripslashes($username);
$gender = stripslashes($gender);
/* Do some error checking on the form posted fields */
if((!$first_name) || (!$last_name) || (!$email_address) || (!$gender) || (!$username)){
if(!$first_name){
header('Location: signup.php?signuperror=2');
}
if(!$last_name){
header('Location: signup.php?signuperror=3');
}
if(!$email_address){
header('Location: signup.php?signuperror=4');
}
if(!$username){
header('Location: signup.php?signuperror=5');
}
if(!$gender){
header('Location: signup.php?signuperror=6');
}
include "signup.php"; // Show the form again!
/* End the error checking and if everything is ok, we'll move on to
creating the user account */
exit(); // if the error checking has failed, we'll exit the script!
}
/* Let's do some checking and ensure that the user's email address or username
does not exist in the database */
$sql_email_check = mysql_query("SELECT email_address FROM users WHERE email_address='$email_address'");
$sql_username_check = mysql_query("SELECT username FROM users WHERE username='$username'");
$email_check = mysql_num_rows($sql_email_check);
$username_check = mysql_num_rows($sql_username_check);
if(($email_check > 0) || ($username_check > 0)){
if($email_check > 0){
header('Location: signup.php?signuperror=7');
unset($email_address);
}
if($username_check > 0){
header('Location: signup.php?signuperror=8');
unset($username);
}
include 'signup.php'; // Show the form again!
exit(); // exit the script so that we do not create this account!
}
/* Everything has passed both error checks that we have done.
It's time to create the account! */
/* Random Password generator.
http://www.phpfreaks.com/quickcode/Random_Password_Generator/56.php
We'll generate a random password for the
user and encrypt it, email it and then enter it into the db.
*/
function makeRandomPassword() {
$salt = "abchefghjkmnpqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
$i = 0;
while ($i <= 7) {
$num = rand() % 33;
$tmp = substr($salt, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
$random_password = makeRandomPassword();
$db_password = md5($random_password);
// Enter info into the Database.
$info2 = htmlspecialchars($info);
$sql = mysql_query("INSERT INTO users (first_name, last_name, email_address, username, password, gender, date1, date2, date3, signup_date, mobile)
VALUES('$first_name', '$last_name', '$email_address', '$username', '$db_password', '$gender', '$date1', '$date2', '$date3', now(), '$mobile')") or die (mysql_error());
if(!$sql){
header('Location: signup.php?signuperror=9');
} else {
$userid = mysql_insert_id();
// Let's mail the user!
$subject = "BaseCentre Members";
$message = "Dear $first_name $last_name,
Thank you for registering at BaseCentre, http://www.basecentre.co.uk/
You are two steps away from logging in and accessing our exclusive entertainment.
To activate your membership, please click here: http://www.basecentre.co.uk/activate.php?id=$userid&code=$db_password
Once you activate your memebership, you will be able to login with the following information:
Username: $username
Password: $random_password
Thanks!
Base Admin Team.
This is an automated response, please do not reply!";
mail($email_address, $subject, $message, "From: BaseCentre Members<admin@basecentre.co.uk>\nX-Mailer: PHP/" . phpversion());
////// MAIL ADMIN
$subject2 = "BaseCentre New User!";
$message2 = "Dear Admin,
This is a message to alert you that a new user has signed up to BaseCentre.
You can view all details of the new member and all other members direct from the admin control panel at http://basecentre.co.uk/admin.php
Here are the details of the new registered user:
Username: $username
Email Address: $email_address
Thanks!
BaseCentre Automation.
This is an automated response, please do not reply!";
mail('aidan6141@hotmail.co.uk', $subject2, $message2, "From: BaseCentre Members<admin@basecentre.co.uk>\nX-Mailer: PHP/" . phpversion());
header('Location: login.php?loginerror=6');
include 'login.php';
}
?>
JS脚本供参考:
/*
Name: View - Contact
Written by: Okler Themes - (http://www.okler.net)
Version: 2.0
*/
(function() {
"use strict";
var Contact = {
initialized: false,
initialize: function() {
if (this.initialized) return;
this.initialized = true;
this.build();
this.events();
},
build: function() {
this.validations();
},
events: function() {
},
validations: function() {
$("#contactForm").validate({
submitHandler: function(form) {
// Loading State
var submitButton = $(this.submitButton);
submitButton.button("loading");
// Ajax Submit
$.ajax({
type: "POST",
url: "php/contact-form.php",
data: {
"name": $("#contactForm #name").val(),
"email": $("#contactForm #email").val(),
"subject": $("#contactForm #subject").val(),
"message": $("#contactForm #message").val()
},
dataType: "json",
success: function (data) {
if (data.response == "success") {
$("#contactSuccess").removeClass("hidden");
$("#contactError").addClass("hidden");
// Reset Form
$("#contactForm .form-control")
.val("")
.blur()
.parent()
.removeClass("has-success")
.removeClass("has-error")
.find("label.error")
.remove();
if(($("#contactSuccess").position().top - 80) < $(window).scrollTop()){
$("html, body").animate({
scrollTop: $("#contactSuccess").offset().top - 80
}, 300);
}
} else {
$("#contactError").removeClass("hidden");
$("#contactSuccess").addClass("hidden");
if(($("#contactError").position().top - 80) < $(window).scrollTop()){
$("html, body").animate({
scrollTop: $("#contactError").offset().top - 80
}, 300);
}
}
},
complete: function () {
submitButton.button("reset");
}
});
},
rules: {
name: {
required: true
},
email: {
required: true,
email: true
},
subject: {
required: true
},
message: {
required: true
}
},
highlight: function (element) {
$(element)
.parent()
.removeClass("has-success")
.addClass("has-error");
},
success: function (element) {
$(element)
.parent()
.removeClass("has-error")
.addClass("has-success")
.find("label.error")
.remove();
}
});
}
};
Contact.initialize();
})();
答案 0 :(得分:7)
更改此行,
<form name="register" action="register.php" id="contactForm" method="POST">
您必须使用method="POST"
代替type="POST"
答案 1 :(得分:2)
表单的有效属性为method
而非type
method = 'post'
答案 2 :(得分:1)
与post方法一样,输入字段也应该有一个name属性。
答案 3 :(得分:0)
很简单:
type="POST"
更改为 Method="POST"
答案 4 :(得分:0)
如果您的表单没有提交,并且您已经检查了之前答案中的建议,则可能是您有多个表单结束标记,重叠表单标记或错误关闭的div。
这里有一个标准清单,而不是纯粹基于php的清单,如果您仍然遇到此问题,可以查看一下:
检查表单标记中是否有有效的操作元素
例如:action="/subjects"
检查您是否有有效的方法元素(不是类型元素)
例如:method="post"
打开和关闭<form>
代码以及这些代码中的提交按钮。确保没有额外的div导致元素关闭不正确。 - 双重检查,因为这是许多常见问题的常见原因
重叠表单标记。 (确保您没有多个表格结束标签等)
正在发送帖子,但后端/服务器/ api中有错误没有向浏览器返回错误或成功消息? (按F12
后)检查网络部分或浏览器
如果您的问题仍然存在,那么请考虑尝试使用javascript而不是html表单提交。通过向按钮添加onclick
事件并编写form.submit函数。
我从未听说过任何不同的表单提交错误,这些错误未记录在控制台中,或者您可以在浏览器开发工具栏的“网络”部分中看到。最终想知道你的问题。
答案 5 :(得分:0)
确保您提交的按钮类型为“提交”而非“键入”按钮。
答案 6 :(得分:0)
确保您在每个字段上都有属性名称。
示例:name="email"
答案 7 :(得分:-1)
同时检查您的action =“register.php”是否未被重定向。
例如action="/xyz/register.php" -- register.php
应位于'xyz'文件夹中。
如果{x 1'}不在'xyz'文件夹中并且表单正在重定向,它将转到正确的页面,但会丢失表单的值(名称,电子邮件等)。