我在成功提交表单后尝试清空表单字段,但是,它似乎只有通过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方法来清除输入字段。
答案 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脚本。