php form - форма сброса при отправке - PullRequest
0 голосов
/ 21 ноября 2011

Я создал форму, и пока все работает нормально. Единственное, что я оставил, это сбросить поля при отправке формы. Это кажется легкой задачей, но, посмотрев вокруг и попробовав некоторые вещи, похоже, ничего не получится :( То, что у меня есть, было взято из другого поста, но мое событие отправки отличается от их, поэтому я думаю, что оно не работает. очень ценится.

php part

///////////////////////////////// Загрузить изображение

//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');

?>

Форма

<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>

1 Ответ

0 голосов
/ 21 ноября 2011

Возможно, вы ищете это?

onClick="this.form.reset()"

(у вас только this.reset()).

...