php表单-onsubmit重置表单

php表单-onsubmit重置表单,php,javascript,forms,onsubmit,Php,Javascript,Forms,Onsubmit,我已经创建了一个表单,到目前为止一切都很好。我唯一剩下的就是在提交表单时重置字段。这似乎是一项简单的任务,但在环顾四周并尝试了一些事情之后,似乎什么也做不到:(我现在所做的是从另一个帖子中获取的,但我的提交活动与他们的不同,这就是为什么我认为它不起作用。非常感谢任何帮助 php部分 /////////////////////////////////上传图像 //define a maxim size for the uploaded images in Kb define ("MAX_SIZE"

我已经创建了一个表单,到目前为止一切都很好。我唯一剩下的就是在提交表单时重置字段。这似乎是一项简单的任务,但在环顾四周并尝试了一些事情之后,似乎什么也做不到:(我现在所做的是从另一个帖子中获取的,但我的提交活动与他们的不同,这就是为什么我认为它不起作用。非常感谢任何帮助

php部分

/////////////////////////////////上传图像

//define a maxim size for the uploaded images in Kb
define ("MAX_SIZE","500"); 

 //This function reads the extension of the file. It is used to determine if the file   is an image by checking the extension.
function getExtension($str) {
     $i = strrpos($str,".");
     if (!$i) { return ""; }
     $l = strlen($str) - $i;
     $ext = substr($str,$i+1,$l);
     return $ext;
}

//This variable is used as a flag. The value is initialized with 0 (meaning no error     found)  
//and it will be changed to 1 if an errro occures.  
//If the error occures the file will not be uploaded.
$errors=0;
//checks if the form has been submitted
if(isset($_POST['submit'])) 
{
//reads the name of the file the user submitted for uploading
$image=$_FILES['image']['name'];
//if it is not empty
if ($image) 
{
//get the original name of the file from the clients machine
    $filename = stripslashes($_FILES['image']['name']);
//get the extension of the file in a lower case format
    $extension = getExtension($filename);
    $extension = strtolower($extension);
    if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") &&      ($extension != "gif")) 
    {
    //print error message
        echo '<h1>Unknown extension!</h1>';
        $errors=1;
    }
    else
    {
//get the size of the image in bytes
//$_FILES['image']['tmp_name'] is the temporary filename of the file
//in which the uploaded file was stored on the server
$size=filesize($_FILES['image']['tmp_name']);

//compare the size with the maxim size we defined and print error if bigger
if ($size > MAX_SIZE*1024)
{
echo '<h1>You have exceeded the size limit!</h1>';
$errors=1;
}

$newname="storeImages/".$filename;
//we verify if the image has been uploaded, and print error instead
$copied = copy($_FILES['image']['tmp_name'], $newname);
if (!$copied) 
{
echo '<h1>Copy unsuccessfull!</h1>';
$errors=1;
}}}}

//If no errors registred, print the success message
if(isset($_POST['submit']) && !$errors) 
{
echo "<h1>File Uploaded Successfully!</h1>";
}

//direct to same page but refresh
//header('Location: storeListForm.php');

?>
//定义上载图像的最大大小(Kb)
定义(“最大尺寸”、“500”);
//此函数读取文件的扩展名。它用于通过检查扩展名来确定文件是否为图像。
函数getExtension($str){
$i=strrpos($str,“.”);
如果(!$i){返回“”;}
$l=strlen($str)-$i;
$ext=substr($str,$i+1,$l);
返回$ext;
}
//此变量用作标志。该值用0初始化(表示未发现错误)
//如果发生错误,它将更改为1。
//如果发生错误,将不会上载文件。
$errors=0;
//检查表单是否已提交
如果(isset($_POST['submit']))
{
//读取用户提交用于上载的文件的名称
$image=$_文件['image']['name'];
//如果它不是空的
如果($image)
{
//从客户端计算机获取文件的原始名称
$filename=stripslashes($_文件['image']['name']);
//以小写格式获取文件的扩展名
$extension=getExtension($filename);
$extension=strtolower($extension);
如果(($extension!=“jpg”)&&($extension!=“jpeg”)&&($extension!=“png”)&&($extension!=“gif”))
{
//打印错误消息
echo“未知扩展名!”;
$errors=1;
}
其他的
{
//获取图像的大小(以字节为单位)
//$\u FILES['image']['tmp\u name']是文件的临时文件名
//其中上载的文件存储在服务器上
$size=filesize($_FILES['image']['tmp_name']);
//将大小与我们定义的最大大小进行比较,如果较大,则打印错误
如果($size>MAX_size*1024)
{
echo“您已超过大小限制!”;
$errors=1;
}
$newname=“storeImages/”$filename;
//我们验证图像是否已上载,并改为打印错误
$copied=copy($_文件['image']['tmp_名称']],$newname);
如果(!$已复制)
{
回显“复制未成功!”;
$errors=1;
}}}}
//如果未注册任何错误,请打印成功消息
如果(isset($_POST['submit'])和&!$错误)
{
echo“文件上传成功!”;
}
//直接到同一页但刷新
//标题('Location:storeListForm.php');
?>
形式

<body>

<script type="text/javascript">
function onFormSubmit ()
{
    document.storeList.reset();
    return true; // allow form submission to continue
}
</script>

<div id="signUp"> 

<?php 
//if the validation falls back to php, then print the validation error
if (isset($error_message)) echo $error_message;
?>

<form method="post" action="" id="storeList" name="storeList" enctype="multipart/form-  data">  
<table>
<tr>
  <td><label for="name">Name</label></td>
  <td><input type="text" name="name" id="name" value="<?php if (isset($_POST['name'])) echo $_POST['name'];?>"/></td>
</tr>
<tr>
   <td> <label for="storeLocation">Location</label></td>
   <td><input type="text" name="storeLocation" id="storeLocation" value="<?php if   (isset($_POST['storeLocation'])) echo $_POST['storeLocation'];?>"/></td>
</tr>
<tr>
   <td><label for="featured_items">Featured Items</label></td>
   <td><input type="text" name="featured_items" id="featured_items" value="<?php if  (isset($_POST['featured_items'])) echo $_POST['featured_items'];?>"/></td>
</tr>
<tr>
   <td><label for="keywords">Keywords</label></td>
   <td><input type="text" name="keywords" id="keywords" value="<?php if     (isset($_POST['featured_items'])) echo $_POST['keywords'];?>"/></td>
</tr>
<tr>
   <td><label for="fileImage">Image</lable></td>
   <td><input type="file" name="image"></td>

</tr>
   <td>Description</td>
   <td> <textarea for="description"></textarea type="text area" name="description"  id="description" value="><?php if (isset($_POST['description'])) echo  $_POST['description'];?>"/></td>
</tr>
<tr>
    <td></td>
    <td><input type="submit" name="submit" id="submit" value="Add Store"  onsubmit="this.submit(); this.reset(); return false;"></td>
</tr>
</table>
</form>
</div>
</body>

函数onFormSubmit()
{
document.storeList.reset();
返回true;//允许表单提交继续
}
名称

也许你在找这个

onClick=“this.form.reset()”


(您的仅为
此.reset()
).

正在发生什么,您希望发生什么?用户输入输入,然后单击提交。所有内容都提交,但字段仍包含输入。我希望用户提交后字段为空,以便他们可以输入更多数据。不需要这样做。它会在提交数据之前重置表单。无论如何,用
setTimeout将其包装()
您需要将表单的全局引用保存为
将在窗口中显示。