javascript reset form

Status
Niet open voor verdere reacties.

AmcUhrd

Gebruiker
Lid geworden
5 okt 2011
Berichten
53
hallo allen. ik ben bezig met een simpel klachten verzamel systeem, wat bestaat uit een html formulier, gestyled met bootstrap, en kleine beetjes javascript en jquery om het geheel te laten werken. ik heb hem bijna helemaal af, maar loop nu stuk op 1 klein dingetje.

als het formulier gesubmit wordt, runt een klein javascript met een alert en een page down, om de gebruiker te laten weten dat het formulier verstuurd is, en terug te keren naar de pagina.

PHP:
echo "<script>
             alert('Uw Ticket is aangemaakt'); 
             window.history.go(-1);
			 document.getElementById('formulier').clear();
     </script>";

nu wil het geval dat de laatste lijn niet werkt, oftewel als de gebruiker terug keert naar de pagina, is alle ingevulde info nog steeds zichtbaar. dit is de volledige php, html en script code:
HTML:
<?php include ('include/php/db_connect.php');?>


<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8">

  <title>Stage Opdracht</title>
  <meta name="description" content="stage opdracht">
  <meta name="author" content="AmcUhrd">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="include/bootstrap/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="include\bootstrap\js\bootstrap.min.js"></script>
  <script src="include\java\save-load.js"></script>
  
  

  
 
  

  <!--[if lt IE 9]>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.js"></script>
  <![endif]-->
</head>

<body>
	
	
	

	<div  style="background:#337ab7 !important" class="jumbotron text-center" > 
		<!--jumbotron header-->
	
	
		<h1>Hulpaanvraag</h1>
		
		
	</div>	
	
	
	
	
	<div class="container"> 
		<!--begin van het formulier, in een container-->
		
		
	
		<form  action="include/php/form.php" method="POST" id="Formulier"  > 
			<!-- de methode van het verwerken van info uit het formulier-->
			
			
			
		
		
		<div class="text-center form-group"> 
			<!-- alles zit in groepen verdeeld, hier begint het formulier-->
			
		
			<span class="form-group-addon text-center"><i class="glyphicon glyphicon-tag 	"></i></span> 
				<!--een tag icoontje om aan te geven dat het een titel is-->
				
			
			<input type="text" name="titel" id="titel" placeholder="Titel" required> 
				<!-- tekst veld voor het invoeren van de titel van het probleem-->
				
			
		</div>
		
		
		
		
		<div class="text-center form group ">
		
		
			<span class="form-group-addon text-center"><i class="glyphicon glyphicon-user"></i></span> 
				<!--poppetjes icoontje-->
				
		
			 <input id="name" type="text"  name="name" placeholder="Naam" required> 
				<!-- tekstveld voor het invoeren van je naam-->
				
			 
		</div>
		
		
		
		
		
		<div class="text-center radio form-group">
		
		
			<span class="form-group-addon text-center"><i class="glyphicon glyphicon-question-sign 	"></i></span> 
				<!-- vraagteken voor radio bttn-->
			
			
			<label>
			
			
				<input type="radio" value="rfc" id="bug" name="bug" required> 
					<!-- eerste radio bttn optie-->
				
				
				RfC</label>
				
			
			<label>
			
			
				<input type="radio"  value="bug" id="bug" name="bug" required>
					<!-- tweede radio bttn optie-->
					
			
				Bug</label>
				
			
		</div>
		
		
		
		
		<div class="text-center form-group">
		
				<span class="form-group-addon text-center"><i class="glyphicon glyphicon-calendar"></i></span> 
					<!-- kalender icoontje om aan te geven dat hier de datum ingevuld moet worden-->
				
			<input id="theDate" name="date" type="date" value="" required>
				<!--date picker, met klein javascript voor automatisch huidige dag te selecteren-->
			
		</div>
		
		
		
		
		<div class="text-center form-group">
			
			<textarea placeholder="geef een korte omschrijving van het probleem" name="omsch" class="text-center" rows="10" cols="30" id="omsch"  required></textarea>
				<!-- tekst veld voor het invullen van verdere informatie-->
			
		</div>
		
		
		
		
		<div class="text-center form-group" >
		
			
			<button name="submit" type="submit" class="btn btn-primary btn-lg" >Verzenden</button>
				<!-- verzend knop-->
			
		</div>
		
		
		
		
	</form>
	
	<div>
	<p id="show"></p>
	</div>
	
		
	</div>
	
	
	
	
	
	 <script type="text/javascript" src="include/jquery/date.js"></script> 
		<!-- javascript voor date picker-->
		

		
		
		
		
	 
</body>

</html>

PHP:
<?php include ('db_connect.php');?>

<?php
$Titel = null;
$Name = null;
$Type = null;
$Date = null;
$Info = null;
?>





<?php //kijken of het formulier is gesubmit
	if ($_SERVER['REQUEST_METHOD'] == 'POST'){
	//gegevens ophalen uit het formulier

	$Titel = $_POST['titel'];
	$Name = $_POST['name'];
	$Type = $_POST['bug'];
	$Date = $_POST['date'];
	$Info = $_POST['omsch'];
	}

	

		mysqli_query($conn, "INSERT INTO `tickets`(`Titel`, `Name`, `Type`, `Date`, `Info`) VALUES ('$Titel','$Name','$Type','$Date','$Info')");
		
	

	
	
	mysqli_close($conn);


echo "<script>
             alert('Uw Ticket is aangemaakt'); 
             window.history.go(-1);
			 document.getElementById('formulier').clear();
     </script>";



?>


Code:
var date = new Date();

var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();

if (month < 10) month = "0" + month;
if (day < 10) day = "0" + day;

var today = year + "-" + month + "-" + day;       
document.getElementById("theDate").value = today;

ik heb heel internet al afgespeurd, maar geen enkele oplossing werkte voor mij.
n.b.: ik hoef geen tips en op of aanmerkingen aangaande beveiliging en dergelijke :p
 
Vanwege je eigenwijsheid:
Je query is lek en je escaped je data niet.

;)
 
Niks is nutteloos aan die opmerking. Probeer maar voor de grap even 's-Gravenshage in te voeren.
Grote kans dat je een SQL syntax error krijgt omdat je je invoer niet escaped (en dat heeft niet alleen met beveiliging te maken, blijkt dus).

En als jij een huis bouwt: Zet jij er dan later een slot op, of doe je dat direct? Ook tijdens de bouw wil jij je huis op slot zetten om te voorkomen dat ze met je gereedschap aan de haal gaan, lijkt mij. ;)

Eigenlijk zou je mij dankbaar mogen zijn, i.p.v. af te bekken met: "Nutteloze opmerking"
 
Laatst bewerkt:
nee,jij weet niet wat ik aan het bouwen ben, en wat het nut daarvoor is. dat jij er vanuit gaat dat ik niet weet wat je met je opmerking bedoeld, is gewoon dom. ik geef niks voor niets aan dat ik op dat gebied geen tips hoef. dat is namelijk niet waar deze code voor bedoeld is. dit komt niet eens online te staan, en is bedoeld voor leer doeleinden. maar goed ik heb het zelf al opgelost, en het probleem zat in niks wat jij aangaf. Toch bedankt en een fijne dag nog
 
even voor de duidelijkheid, ik heb
PHP:
window.history.go(-1);
             document.getElementById('formulier').clear();

veranderd in:

PHP:
location.replace(document.referrer);

voor het geval mensen het zelfde probleem hebben ;)
 
ik geef niks voor niets aan dat ik op dat gebied geen tips hoef. dat is namelijk niet waar deze code voor bedoeld is. dit komt niet eens online te staan, en is bedoeld voor leer doeleinden.
Dan alsnog is het geen excuus om geen beveiliging in te bouwen, terwijl je drommels weet dat dat wel moet.
Als je een opdrachtgever hebt (schoolopdracht? je docent?) verwacht diegene een werkend type. En of dit een docent of klant is: Veiligheid hoort voorop, en moet je nooit achterwege laten. Misschien had je dan zelfs extra punten kunnen verdienen.

In een bedrijf kan je dit ook niet maken, als je laks veiligheid gaat negeren. Dit kan dan zelfs je ontslag worden!
Dus voel je gewoon gewaarschuwd!

Verder fijn dat het opgelost is!

(PS: Misschien kom ik wel bot over, maar zo is het niet bedoeld. Ik zie te vaak dat mensen lekke scripts maken, en er te makkelijk over denken)
 
het is de bedoeling een lek script te maken, zodat leerlingen die er uit kunnen halen. maar goed ga verder geen discussie meer aan ;)
 
Als je in het vervolg ook dat nou verteld, dan was deze hele discussie niet nodig geweest ;)
Nu kwam het meer over in de trant van: "/care.. niet belangrijk"
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan