這篇文章會說明如何透過jQuery和JavaScript來做網友有無填寫資料的簡單判斷,沒有的話游標會自動跳到尚未填寫的核取方框,並且不送出表單。
HTML語法撰寫
我們透過HTML寫出一個像這樣的表單
語法是這樣:
<body>
<form id="form1" name="form1" method="post" action="" onclick="return false">
<p>姓名:
<input type="text" name="name" id="name" />
</p>
<p>電話:
<input type="text" name="phone" id="phone" />
</p>
<p>地址:
<input type="text" name="address" id="address" />
</p>
<p>
<input type="submit" name="button" id="button" value="送出" />
</p>
</form>
</body>
這裡有一個特別需要注意的地方,就是在<form>的裡面我們多了一個指令,是onclick="return false",這是一個javascript的語法,意思是點擊送出的時候「不要送出」,那什麼時候才要送出呢?就要搭配上我們jQuery/javascript的語法了。
jQuery語法
<script>
$(document).ready(function(){
$("#button").click(function(){
if($("#name").val()==""){
alert("你尚未填寫姓名");
eval("document.form1['name'].focus()");
}else if($("#phone").val()==""){
alert("你尚未填寫電話");
eval("document.form1['phone'].focus()");
}else if($("#address").val()==""){
alert("你尚未填寫地址");
eval("document.form1['address'].focus()");
}else{
document.form1.submit();
}
})
})
</script>
這裡會依序檢驗各個文字框填寫的狀況,一開始一樣是當「送出」(#button)被點擊的時候,如果我填寫姓名的文字框(#name)的值.val( )是空白的,則:
1.提醒尚未填寫的項目
2.把未填寫的文字框變成focus的狀態(游標移到的樣子)
這裡有一個關鍵字是eval( ),這個在這裡的意思是幫我執行( )內的項目,而括弧內就是找到該對話框(例如,document.form1['name']),然後讓它變成focus的狀態.focus( )。其他的就是繼續會else if的指令寫下去。
最後,如果都正確的話,就幫我把表單(document.form1)送出.submit( )。
參考資料


0 意見:
張貼留言