Reputation: 15
I made a form, and I put required in every text box. But for some reason it doesn't work.
If anyone knows a solution for this, please let me know.
<form name="mailForm" method="post" action="mail.php" >
<div class="form">
<input class="input-text" type="text" name="Naam" id="Naam" value="Naam *" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" required>
<input class="input-text" type="text" name="E-Mail" id="E-Mail" value="E-Mail *" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" required>
<input class="input-text" type="text" name="Subject" id="Subject" value="Onderwerp *" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" required>
<textarea class="input-text text-area" name="Bericht" id="Bericht" value="Bericht *"cols="0" rows="0" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" required>Bericht *</textarea>
<input class="input-btn" type="submit" value="Verstuur" name="Submit">
</div>
</form>
Upvotes: 1
Views: 1864
Reputation: 130
Check if you HTML declaration is HTML5 else change
required
to
required="required"
Upvotes: 0
Reputation: 14255
You have set a default value (value=""
) and you reset your input elements to that value with your onblur
listener every time the element is left emtpy. So the browser will always see content.
Remove your listeners and rely on the placeholder
attribute instead:
<form name="mailForm" method="post" action="mail.php">
<div class="form">
<input class="input-text" type="text" name="Naam" id="Naam" placeholder="Naam *" required>
<input class="input-text" type="text" name="E-Mail" id="E-Mail" placeholder="E-Mail *" required>
<input class="input-text" type="text" name="Subject" id="Subject" placeholder="Onderwerp *" required>
<textarea class="input-text text-area" name="Bericht" id="Bericht" placeholder="Bericht *" cols="0" rows="0" required></textarea>
<input class="input-btn" type="submit" value="Verstuur" name="Submit">
</div>
</form>
Upvotes: 2
Reputation: 2825
It doesn't work because it already has a value
, so you can change it to placeholder
<form name="mailForm" method="post" action="mail.php" >
<div class="form">
<input class="input-text" type="text" name="Naam" id="Naam" placeholder="Naam *" required>
<input class="input-text" type="text" name="E-Mail" id="E-Mail" placeholder="E-Mail *" required>
<input class="input-text" type="text" name="Subject" id="Subject" placeholder="Onderwerp *" required>
<textarea class="input-text text-area" name="Bericht" id="Bericht" placeholder="Bericht *"cols="0" rows="0" required>Bericht *</textarea>
<input class="input-btn" type="submit" value="Verstuur" name="Submit">
</div>
</form>
Upvotes: 1
Reputation: 161
You can try like this:
<form name="mailForm" method="post" action="mail.php" >
<div class="form">
<input class="input-text" type="text" name="Naam" id="Naam" value="" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" required="required">
<input class="input-text" type="text" name="E-Mail" id="E-Mail" value="" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" required="required">
<input class="input-text" type="text" name="Subject" id="Subject" value="" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" required="required">
<textarea class="input-text text-area" name="Bericht" id="Bericht" value=""cols="0" rows="0" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" required="required">Bericht *</textarea>
<input class="input-btn" type="submit" value="Verstuur" name="Submit">
</div>
</form>
See that I changed from required
to required="required"
Upvotes: 0