無論是會員注冊還是提交訂單,我們都要使用到form表單,此時我們在處理數據時,就要判斷用戶填寫的信息。一次是直接通過js判斷input輸入框是否沒有填信息,然后在后台處理文件中通過過濾字符串后再次判斷是否確實有內容了。
我遇到的問題:(記下來,下次忘記了再回來看看)
js判斷input輸入框判斷為空, 彈窗后,光標沒有定位到輸入框,而是直接執行我的處理數據程序。
我錯誤的原因是,在js代碼中定位光標時代碼寫錯了,注明為黃色字體
JS代碼部分:
<!-- js判斷是否為空 --> <script language="javascript"> function check() { if (addnav.navname.value=="") { // 如果導航名稱,則顯示警告信息 alert("導航名稱不能為空!"); addnav.id.focus(); return false; } if (addnav.id.value=="") { // 如果排序嗎為空,則顯示警告信息 alert("排序碼不能為空!"); addnav.id.focus(); return false; } //return true; } </script>
HTML代碼:
<form action="doaddnav.php" method="post" name="addnav" onsubmit="return check()"> <tr> <tr> <td>請輸入導航名稱:</td> <td><input type="text" name="navname"></td> </tr> <tr> <td>請輸入排序碼(越小越前):</td> <td><input type="text" name="orders"></td> </tr> <tr> <td><input type="submit" name="submit" value="提交" ></td> <td><input type="reset" name="reset" value="重置"></td> </tr> </form>
我不會寫js代碼,這個代碼是從別處拷貝過來的,自己改了改,就拿來用,不知道id是表示什么。因為我是要它判斷為空時,光標定位到輸入框,此時我們怎么 獲取呢?
解決方法:js代碼定位光標焦點,通過input框的name屬性來獲取。
主要通過form表單中可以通過input標簽的name值來獲取;另一種方法是通過id來獲取的是使用這個函數getElementById().