javascript開發(fā)購物車教程之功能完善
前面2節(jié),我們已經(jīng)把購物車加減,總價發(fā)生變化的功能已經(jīng)完成,但是還是有一些小問題的
文本框內(nèi)我如果輸入文字,英文,這樣我們就需要來進(jìn)行處理了
小伙伴們思考一下,在文本框輸入內(nèi)容,當(dāng)我們鼠標(biāo)離開文本框,就會觸發(fā)失去焦點(diǎn)事件,下面我們來做這塊的處理就會用到? onblur? 失去焦點(diǎn)事件,
如果我們輸入的是數(shù)字,那么總價是也需要根據(jù)我們輸入的數(shù)字來進(jìn)行計算的
下面我們來寫失去焦點(diǎn)事件,代碼如下:
<script> document.getElementById('id').onblur = function(){ var id = document.getElementById('id').value; //判斷是否是數(shù)字或者是否小于1 if(isNaN(id) || id < 1){ alert("請輸入正確的數(shù)字"); document.getElementById('id').value = 1; return; } document.getElementById('td2').innerHTML = parseInt(id) * parseInt(good); }
如上代碼:當(dāng)文本的內(nèi)容不是數(shù)字,或者小于1的時候, 會提示,然后不往下執(zhí)行,直接返回
所以這塊的功能我們也已經(jīng)完成
完整代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> table{width:350px;border:1px solid #eee;text-align:center;} .tr2{height:50px;} input{width:30px;height:20px;text-align: center;} a{text-decoration:none} </style> <script type="text/javascript"> window.onload=function(){ var input = document.getElementById('id').value; //獲取文本框的value值 var good = document.getElementById('td').innerHTML; //獲取id是td的html文本內(nèi)容 //加號功能 document.getElementById('a2').onclick = function(){ var v1 = document.getElementById('id').value; v1=parseInt(v1); document.getElementById('id').value = v1 + 1; document.getElementById('td2').innerHTML = parseInt(good) * parseInt(v1+1); } //減號功能 document.getElementById('a1').onclick = function(){ var v1 = document.getElementById('id').value; if(v1>1){ v1=parseInt(v1); document.getElementById('id').value = v1 - 1; document.getElementById('td2').innerHTML = parseInt(good) * parseInt(v1-1); }else{ document.getElementById('id').value=1; } } document.getElementById('id').onblur = function(){ var id = document.getElementById('id').value; //判斷是否是數(shù)字或者是否小于1 if(isNaN(id) || id < 1){ alert("請輸入數(shù)字"); document.getElementById('id').value = 1; return; } document.getElementById('td2').innerHTML = parseInt(id) * parseInt(good); } } </script> </head> <body> <table cellspacing="0" cellpadding="0" border="1"> <tr> <th>名稱</th> <th>單價</th> <th>數(shù)量</th> <th>總價</th> </tr> <tr class="tr2"> <td>手表</td> <td id="td">1999</td> <td> <a href="#" id="a1" class="tp1">-</a> <input type="text" value="1" id="id"> <a href="#" id="a2" class="tp2">+</a> </td> <td id="td2">1999</td> </tr> </table> </body> </html>