發現如果表單內的按鈕寫送出
要經過javascript驗證資料
不管條件成不成立表單依然送出
範例如下
<form method="post" action="action.php" name="from1"> 帳號: <input name="id"> 密碼: <input name="password" type="password"> <input name="send" type="submit"> </form>
顯示
他就會以post方式送出去
但不管我裡面是否有資料都會送出
就算寫了javascript if判斷是否為空值也無法阻止送出
之後我查了許多資料發現要用點擊事件判斷加送出資料
不能使用type="submit"讓按鈕本身有送出資料的功能
這樣javascript就會是寫心酸的
所以表單送出按鈕改寫成普通的按鈕加上點擊事件(onclick)
<input name="send" value="送出" type="button" onclick="check()">
javascript部分
<script type="text/javascript"> function check() { var id = document.getElementById("id"); var pass = document.getElementById("password"); if (id.value == "" || pass.value == "") { alert("請輸入完整資訊"); } else { var from1 = document.getElementById("from1"); from1.submit(); } } </script>
抓取from1的ID
如果條件成立就使用submit()送出資料
送出的目標就是from標籤action屬性那邊的連結
這樣子就可以按下按鈕後先做判斷資料是否完整
確定資料都有填入後才會送出資料
這問題困擾我很久所以就筆記一下
沒有留言:
張貼留言