PHP或JQUERY - 成功提交后清除表单字段

时间:2017-01-24 08:57:00

标签: php jquery forms

我在成功提交表单后尝试清空表单字段,但是,它似乎只有通过jQuery才有可能,我无法弄清楚如何。 我不想使用.click()或.submit(),例如$("#signuBbtn").click()以清除输入字段,因为它将始终清除表单字段。

我只想在表单成功提交并将发布的数据插入MySQL中时清除表单字段

如果我无法通过PHP清除表单字段,如何调用清除表单字段的JQuery函数?

register.php

<?php
    if(!$formValidationError) {
        //code for clearing the input field PHP code
        //OR
        //calls JQuery form clearing function which is clearInput()
    }
?>

的script.js

    function clearInput() {
        $("#email, #username, #password").each( function() {
           $(this).val('');
        });
    }

要添加更多信息,我不想重定向或刷新页面。此外,在 register.php 中,我只想知道如何从外部js文件中调用clearInput() script.js 。或者我只是想知道如何使用php方法来清除输入字段。

4 个答案:

答案 0 :(得分:0)

您只需在表单元素上使用reset()函数即可。

<form id="form">
    .........
    ........
</form>

jQuery代码:

$("#form")[0].reset()
// or
$("#form").get(0).reset()

答案 1 :(得分:0)

尝试此操作以清除所有类型的输入字段

$(':input','#myform')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');  

答案 2 :(得分:0)

实际上,当您使用$_POST = array();在数据库中成功插入值时,您可以使用php清除表单字段,这将清除表单数据

看看例子

<?php


// your validation here

try {
    $stmt = $dbh->prepare("INSERT INTO users (firstName,lastName,title,email,userPassword,categoryID,provinceID,cityID,planID) VALUES(?,?,?,?,?,?,?,?,?)");
    if ($stmt->execute(array(
        $firstname,
        $lastname,
        $title,
        $email,
        $hash,
        $category,
        $province,
        $city,
        $plan
    ))) {


        echo "Form submitted";

        $_POST = array(); //clear input fields
    } else {

        echo "form not submitted";
    }
}
catch (PDOException $e) {


    error_log($e->getMessage());
}


?>

答案 3 :(得分:0)

快速解决您的情况。

从php调用js函数:

displayedCenterColumns()

<?php
    if(!$formValidationError) {
        echo '<script type="text/javascript">',
            '$(function(){ clearInput(); })',
        '</script>';
    }
?>

在jQuery librairy脚本标记之后回显js脚本。