新聞中心
如何67實(shí)現(xiàn)HTML5表單提示彈窗功能
.tooltip, .arrow:after {
為常山等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及常山網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、常山網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
background: black;
border: 2px solid white;
}
.tooltip {
pointer-events: none;
opacity: 0;
display: inline-block;
position: absolute;
padding: 10px 20px;
color: white;
border-radius: 20px;
margin-top: 20px;
text-align: center;
font: bold 14px"Helvetica Neue", Sans-Serif;
font-stretch: condensed;
text-decoration: none;
text-transform: uppercase;
box-shadow: 0 0 7px black;
}
.arrow {
width: 70px;
height: 16px;
overflow: hidden;
position: absolute;
left: 50%;
margin-left: -35px;
bottom: -16px;
}
.arrow:after {
content:"";
position: absolute;
left: 20px;
top: -20px;
width: 25px;
height: 25px;
-webkit-box-shadow: 6px 5px 9px -9px black,5px 6px 9px -9px black;
-moz-box-shadow: 6px 5px 9px -9px black,5px 6px 9px -9px black;
box-shadow: 6px 5px 9px -9px black,5px 6px 9px -9px black;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
}
.tooltip.active {
opacity: 1;
margin-top: 5px;
-webkit-transition: all 0.2s ease;
-moz-transition: all 0.2s ease;
-ms-transition: all 0.2s ease;
-o-transition: all 0.2s ease;
}
.tooltip.out {
opacity: 0;
margin-top: -20px;
}
html5表單失去焦點(diǎn)進(jìn)行非空驗(yàn)證,并用placeholder顯示錯(cuò)誤提示
簡單改了下你的,效果實(shí)現(xiàn)了,規(guī)范的寫法自己改改吧
!DOCTYPE?html??
html??
head??
meta?charset="UTF-8"/??
titlecheckValidity?示例/title?
style
input.dd::-webkit-input-placeholder{
color:?red;
opacity:1;
}?
/style
/head??
body?
form?action=""?method="get"
table?width="200%"?border="0"?cellspacing="0"?cellpadding="0"?
tr
tdinput?class=''?id='id'?name="uname"?type="text"?placeholder="ID"?onblur="aa(this)"/td
/tr
tr
tdinput?name="pwd"?type="password"?placeholder="密碼"/td
/tr
tr
tdinput?name=""?type="submit"/td
/tr
/table
/form
script?
function?aa(a){
if(a.value==''){
a.placeholder='ID不能為空';
a.className="dd";
}
}
/script
/body??
/html
HTML5中如何實(shí)現(xiàn)表單的自定義驗(yàn)證消息?
實(shí)現(xiàn)表單自定義驗(yàn)證消息,實(shí)際上很簡單。大體思路為:
1、首先我們要設(shè)置表單的驗(yàn)證規(guī)則
2、然后根據(jù)表單的驗(yàn)證規(guī)則定義要顯示驗(yàn)證消息,
3、最后通過JavaScript 和CSS相結(jié)合先將所有預(yù)定義的驗(yàn)證消息隱藏掉,然后再根據(jù)表單中的輸入是否符合驗(yàn)證規(guī)則來控制驗(yàn)證消息的顯隱狀態(tài)。
下面我們就來通過一個(gè)具體的示例進(jìn)行講解,你可以將這個(gè)示例直接放在瀏覽器中運(yùn)行查看效果,但是要注意代碼中引用了第三方類庫jQuery,運(yùn)行時(shí)你要自己設(shè)置一下:
!doctype html
html
head
meta charset="utf-8" /
titleForms: 驗(yàn)證提示/title
// 設(shè)置一些必要的樣式,如驗(yàn)證消息的文字樣式和控制驗(yàn)證消息顯隱的樣式
style
input:valid {
background: #fff;
}
input:invalid {
background: #fcc;
color: #333;
}
.validation-messages {
margin-bottom:15px;
}
.validation-messages span {
font-size:0.8em;
background-color:#eee;
padding:6px;
border:1px solid #ccc;
border-radius:10px;
color:#666;
}
//所有class屬性為hide的元素都會(huì)被隱藏
.hide {
display:none;
}
/style
/head
body
article
h1Formsspan - 驗(yàn)證提示/span/h1
/article
div id="result-stub" class="well hidden"
form id="change-email-form" name="change-email-form"
fieldset
h4修改郵箱地址/h4
//設(shè)置表單應(yīng)該遵循的驗(yàn)證規(guī)則。
//pattern 屬性:規(guī)定用于驗(yàn)證輸入字段的模式。
//maxlength 屬性:規(guī)定輸入字段的最大長度,以字符個(gè)數(shù)計(jì)。
//required屬性:規(guī)定該input元素為必須的元素。
label用戶名:/label
input type="text" name="username"
id="username" pattern="[a-zA-Z ]{5,}"
maxlength="30" required /
//設(shè)置表單的驗(yàn)證消息,并結(jié)合class屬性樣式將其隱藏起來
div
//這里的data-rule的屬性值是HTML5表單中內(nèi)置的驗(yàn)證規(guī)則中的一種
span data-rule="valueMissing"
class="hide"用戶名不能為空./span
span data-rule="patternMismatch"
class="hide"必須是字母字符(長度應(yīng)為5~30個(gè)字符)./span
/div
label郵箱地址:/label
//設(shè)置表單應(yīng)該遵循的驗(yàn)證規(guī)則。
input type="email" name="email" id="email"
title="Email address is required" required /
//設(shè)置表單的驗(yàn)證消息,并結(jié)合class屬性樣式將其隱藏起來
div
span data-rule="valueMissing"
郵箱地址不能為空./span
span data-rule="typeMismatch"
郵箱格式不正確./span
/div
hr /
//設(shè)置兩個(gè)按鈕,作用分別是“清空表單內(nèi)容和對表單中的內(nèi)容進(jìn)行驗(yàn)證
button type="submit" id="submit"
name="submit"修改/button
button type="button" id="checkValidation"
name="checkValidation"
class="btn"驗(yàn)證/button
/fieldset
/form
/div
script
window.onload= function() {
//---
// 創(chuàng)建一個(gè)驗(yàn)證規(guī)則容器。
var ruleNames = [];
// 填充驗(yàn)證規(guī)則容器.
// 尋找所有具有驗(yàn)證規(guī)則的元素,然后將該元素的data-rule屬性值添加到驗(yàn)證規(guī)則數(shù)組中去。
$("[data-rule]").each(function(i, element) {
var ruleName = element.getAttribute('data-rule');
if ($.inArray(ruleName, ruleNames) 0) {
ruleNames.push(ruleName);
}
});
var
// 首先確定用戶界面隱藏了所有驗(yàn)證消息。
// 然后在選定的表單上運(yùn)行驗(yàn)證規(guī)則。
validate = function() {
$(".validation-messages span")
.addClass('hide');
document.getElementById('change-email-form')
.checkValidity();
},
// 查詢每個(gè)輸入的元素,以確定哪個(gè)元素?zé)o效。
// 一旦檢測到無效元素,就遍歷驗(yàn)證規(guī)則,找到無效的原因,然后通過消息對用戶進(jìn)行提示
validationFail = function(e) {
var
element = e.srcElement,
validity = element.validity;
if (!validity.valid) {
ruleNames.forEach(function(ruleName) {
checkRule(validity,
ruleName,
element);
});
e.preventDefault();
}
},
// 使用 input 元素 的ValidityState 對象的實(shí)例來運(yùn)行驗(yàn)證規(guī)則。
//如果這個(gè)驗(yàn)證規(guī)則返回ture,就表示無法通過驗(yàn)證,在表單中就會(huì)有相應(yīng)的提示信息。
checkRule = function(state, ruleName, ele) {
if (state[ruleName]) {
$(ele).next()
.find('[data-rule="'
+ ruleName + '"]')
.removeClass('hide');
}
};
// 所有驗(yàn)證事件處理程序是附加在input元素上的而不是button元素
$(':input:not(:button)').each(function() {
this.oninvalid = validationFail;
this.onblur = validate;
});
$('#checkValidation').click(validate);
}
/script
script src="../js/jquery.js"/script
/body
/html
推薦你去教程網(wǎng)站秒秒學(xué)上過一遍相關(guān)知識,希望對你有幫助。
html5表單驗(yàn)證用placeholder顯示錯(cuò)誤提示
html5表單驗(yàn)證用placeholder顯示錯(cuò)誤提示:
1、html5包含校驗(yàn)的placeholder如下:
form?action="#"?method="post"
div
label?for="name"Text?Input:/label
input?type="text"?placeholder="Your?name"?name="name"?id="name"?value=""?tabindex="1"?/
/div
div
label?for="name_2"Text?Input?2:/label
input?type="text"?placeholder="Your?name"?name="name_2"?id="name_2"?value=""?tabindex="1"?/
/div
div
label?for="textarea"Textarea:/label
textarea?placeholder="Some?text"?cols="40"?rows="8"?name="textarea"?id="textarea"/textarea
/div
div
label?for="textarea"Textarea?2:/label
textarea?placeholder="Some?text"?cols="40"?rows="8"?name="textarea_2"?id="textarea_2"/textarea
/div
div
input?type="submit"?value="Submit"?/
/div
/form
2、css樣式:
::-webkit-input-placeholder?{
color:????#999;
}
:-moz-placeholder?{
color:????#999;
}
::-moz-placeholder?{
color:????#999;
}
:-ms-input-placeholder?{
color:????#999;
}
/*?Different?color?for?some?fields?*/
#name_2::-webkit-input-placeholder,
#textarea_2::-webkit-input-placeholder
{
color:????#FF0000;
}
#name_2:-moz-placeholder,
#textarea_2:-moz-placeholder
{
color:????#FF0000;
}
#name_2::-moz-placeholder,
#textarea_2::-moz-placeholder
{
color:????#FF0000;
}
#name_2:-ms-input-placeholder,
#textarea_2:-ms-input-placeholder
{
color:????#FF0000;
}
3、運(yùn)行效果:
提交出錯(cuò)就是紅色的
文章名稱:html5表單提示的簡單介紹
URL鏈接:http://www.ef60e0e.cn/article/phhpsj.html