2016-02-10 47 views
1

我有這樣的代碼:按摩不改變所需的字段格式的HTML5

<form name="submitform" method="post" action="signupsuccessfull.php" onsubmit="return validate(this)" > 
<p id="error_para">* fields are required</p> 
<span id="error_para">*</span> Name:<input type="text" name="name" oninvalid="this.setCustomValidity('Please Enter Your Name.')" required id="u_name" /><br /><br /> 
<span id="error_para">*</span> Username:<input type="text" name="username" oninvalid="this.setCustomValidity('Please Enter Uniqe Username.')" required id="field_username" /><br /><br /> 
<span id="error_para">*</span> Password:<input type="password" name="password" oninvalid="this.setCustomValidity('Please Enter Your Password.')" id="user_password" required /><br /><br /> 
<span id="error_para">*</span>Re-Enter Password:<input type="password" name="repassword" id="user_repassword" oninvalid="this.setCustomValidity('Please Confirm your Password.')" required /><br /><br /> 
<span id="error_para">*</span> Email:<input type="text" name="email" id="user_email" oninvalid="this.setCustomValidity('Please Enter Your Valid Email Address.')" required /><br /><br /> 
<span id="error_para">*</span> Gender:<input type="radio" name="gender" value="male" oninvalid="this.setCustomValidity('Please Select Your Gender')" id="gender_user" required />Male&nbsp;<input type="radio" name="gender" value="female" />Female<br /> 
About Urself:<textarea rows="5" cols="18" name="about" ></textarea><br /><br /> 
<input type="submit" value="Create Account" name="submit" />&nbsp; 
<input type="button" value="Cancle" onClick="parent.location='../example/try2.html'"><br /><br /> 
</form> 

但提交,即使字段不爲空,我仍然得到錯誤信息。

任何人都知道發生了什麼。

+0

我想這是你的'oninvalid = 「」'這就是問題 –

+0

使用'title',而不是'oninvalid' – Pedram

回答

1

只需添加oninput="setCustomValidity('')"

例子:

<input type="password" name="user_password_new" pattern=".{6,}" required 
    oninvalid="setCustomValidity('Minimum length is 6 characters')" 
    oninput="setCustomValidity('')" /> 

主要問題:

HTML5: Why does my "oninvalid" attribute let the pattern fail?

例子:

<form name="submitform" method="post" action="signupsuccessfull.php" onsubmit="return validate(this)" > 
 
<p id="error_para">* fields are required</p> 
 
<span id="error_para">*</span> Name:<input type="text" name="name" oninvalid="setCustomValidity('Plz enter on Alphabets ')" required oninput="setCustomValidity('')" id="u_name" /><br /><br /> 
 
<input type="submit" value="Create Account" name="submit" />&nbsp; 
 
<input type="button" value="Cancle" onClick="parent.location='../example/try2.html'"><br /><br /> 
 
</form

+0

+1打我的答案;當你出現的時候,我放棄了我的答案。片段示例雖然有誤導性。點擊創建帳戶而不在名稱字段中輸入文字將不會拋出無效消息。在實際的瀏覽器中它應該工作。 – BillK