Javascript 使用ajax提交后重置表单

Javascript 使用ajax提交后重置表单,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我有一个注册表单(简单的html表单),可以将注册用户插入数据库表,这个表单通过插件进行验证,成功注册后我需要重置表单,但我不能也不知道为什么 下面是我用于提交ajax表单的javascript(jquery)片段,这是根据 这是我的registration_form.php文件 <?php date_default_timezone_set('UTC'); $name = htmlspecialchars($_POST['name']); $s_name = htmlspecialc

我有一个注册表单(简单的html表单),可以将注册用户插入数据库表,这个表单通过插件进行验证,成功注册后我需要重置表单,但我不能也不知道为什么

下面是我用于提交ajax表单的javascript(jquery)片段,这是根据

这是我的registration_form.php文件

<?php

date_default_timezone_set('UTC');

$name = htmlspecialchars($_POST['name']);
$s_name = htmlspecialchars($_POST['s_name']);
$email = htmlspecialchars($_POST["email"]);
$ticket = htmlspecialchars($_POST['ticket']);

$date = date('d_m_Y');

$valid_email = filter_var($email, FILTER_VALIDATE_EMAIL);

$table_name = 'registration_' . $date;

if(!$valid_email) {
    die ("Fill the correct email");
}

if((strlen($name) <= 1) || (!$s_name) || (!$email) || (!$ticket)){
    die ("All the fields should be filled");
}

$connect = mysqli_connect('localhost', 'root', 'password') or die('Connection error');

$create_db = mysqli_query($connect, "CREATE DATABASE IF NOT EXISTS kultprosvet");

$connect_db = mysqli_select_db($connect, "kultprosvet");

$table = "CREATE TABLE $table_name (
            id INT(10) NOT NULL AUTO_INCREMENT, 
            name VARCHAR(100) NOT NULL DEFAULT '',
            s_name VARCHAR(100) NOT NULL DEFAULT '',
            email VARCHAR(100) NOT NULL DEFAULT '',
            ticket VARCHAR(100),
            PRIMARY KEY (id)
        )";

$result = mysqli_query($connect, "SELECT email FROM $table_name");

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
    if($row['email'] == $email){
        die('this email is already registered');
    };
}

$query_table = mysqli_query($connect,$table);

$query = mysqli_query($connect,"insert into $table_name(name, s_name, email, ticket) values ('$name', '$s_name', '$email','$ticket')");

if(mysqli_errno($connect) > 0){
    echo mysqli_errno($connect). ": " . mysqli_error($connect);
}

mysqli_close($connect);

?>

添加这行代码以重置表单中的所有文本框、复选框元素和值

$("input[type=text], textarea").val("");

$('input:checkbox').removeAttr('checked');
改变

if(result == '') { ... }


您是否打算为每个注册的用户创建一个新的数据库表?您可能会遇到以下问题:主机设置的表的数量达到最大限制猜测您的响应从不为空
console.log(result)-总是输出正确的东西吗?@skobaljic是的,但如果表单提交,控制台只显示空row@SpacePhoenix只有一个数据库为everyday创建表,它是否输入检查
if(response='')
?还可以尝试var validator=$(“#myform”).validate();validator.resetForm();不,它没有帮助,函数没有看到我想重置FORM的这个特定“如果”,我已经尝试过了,结果是一样的。尝试在控制台中写入一些内容,但没有结果检查结果的类型并相应地继续。在corse中,我尝试这样做,我观察控制台并只显示空行,但我的“如果”无论如何都不起作用
if(result == '') { ... }
if(result) { ... // show error } else { // reset }