利用JS提交表單的幾種方法和驗(yàn)證(必看篇)
工作中發(fā)現(xiàn)表單提交方便的問(wèn)題,很多時(shí)候IE下提交好好的,打了火狐下就出現(xiàn)了問(wèn)題,利用提交按鈕就不成功了,于是利用JS的方式就成功了,也不知道為什么。在導(dǎo)師的催促下就總結(jié)出以下的幾種常用表單提交的方法。
第一種方式:表單提交,在form標(biāo)簽中增加onsubmit事件來(lái)判斷表單提交是否成功
<script type="text/javascript"> function validate(obj) { if (confirm("提交表單?")) { alert(obj.value); return true; } else { alert(obj.value); return false; } } </script> <body> <form action="http://www.dbjr.com.cn" onsubmit="return validate(document.getElementByIdx_x('myText'));"> <!—參數(shù)的這種寫(xiě)法注意下--> <input type="text" id="myText"/> <input type="submit" value="submit"/> </form> </body>
第二種方式:通過(guò)button按鈕來(lái)觸發(fā)表單提交事件onclick="submitForm();",會(huì)忽略掉其他標(biāo)簽中的屬性,比如form標(biāo)簽中的onsubmit屬性就失效了。這時(shí)為了進(jìn)行表單驗(yàn)證,可以將驗(yàn)證代碼放在submitForm();方法中進(jìn)行驗(yàn)證。
<script type="text/javascript"> function validate() { if (confirm("提交表單?")) { return true; } else { return false; } } function submitForm() { if (validate()) { document.getElementByIdx_x("myForm").submit(); } } </script> <body> <form action="http://www.dbjr.com.cn" id="myForm"> <input type="text"/> <input type="button" value="submitBtn" onclick="submitForm();"/> <!—也可以使用document.getElementByIdx_x(“該按鈕的id”).click();來(lái)執(zhí)行onclick事件--> </form> </body>
第三種方式:將onsubmit事件放在submit標(biāo)簽中,而不是form標(biāo)簽中,此時(shí)表單驗(yàn)證失效,點(diǎn)擊提交按鈕表單直接提交
<script type="text/javascript"> function validate() { if (confirm("提交表單?")) { return true; } else { return false; } } </script> <body> <form action="http://www.dbjr.com.cn"> <input type="text"/> <input type="submit" value="submit" onsubmit="return validate()"/> </form> </body>
第四種方式:為submit按鈕添加上onclick事件,其中該事件用于表單提交的驗(yàn)證,功能類(lèi)似于在form標(biāo)簽中增加了onsubmit事件一樣
<script type="text/javascript"> function validate() { if (confirm("提交表單?")) { return true; } else { return false; } } </script> <body> <form action="http://www.dbjr.com.cn"> <input type="text"/> <input type="submit" value="submit" onclick="return validate()"/> </form> </body>
第五種方式:
<body> <form action="http://www.dbjr.com.cn" id="myForm"> <input type="text"/> <input type="button" value="submitBtn" id="myBtn"/> </form> </body> <script type="text/javascript"> function validate() { if (confirm("提交表單?")) { return true; } else { return false; } }
通過(guò)button按鈕來(lái)觸發(fā)表單提交事件onclick="submitForm();",會(huì)忽略掉其他標(biāo)簽中的屬性,比如form標(biāo)簽中的onsubmit屬性就失效了。這時(shí)為了進(jìn)行表單驗(yàn)證,可以將驗(yàn)證代碼放在submitForm();方法中進(jìn)行驗(yàn)證
function submitForm() { if (validate()) { document.getElementByIdx_x("myForm").submit(); } } document.getElementByIdx_x("myBtn").onclick = submitForm; </script>
以上這篇利用JS提交表單的幾種方法和驗(yàn)證(必看篇)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
javascript設(shè)計(jì)模式 – 策略模式原理與用法實(shí)例分析
這篇文章主要介紹了javascript設(shè)計(jì)模式 – 策略模式,結(jié)合實(shí)例形式分析了javascript策略模式相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-043款實(shí)用的在線(xiàn)JS代碼工具(國(guó)外)
本文為大家推薦3款非常實(shí)用的在線(xiàn)JS代碼工具,可以幫助你方便地處理JavaScript或jQuery代碼2012-03-03親自教你TypeScript 項(xiàng)目搭建過(guò)程
這篇文章主要介紹了親自教你TypeScript 項(xiàng)目搭建過(guò)程,我記得前一天,我們配置過(guò)一份 webpack 配置,直接復(fù)制過(guò)來(lái)使用,這里就不多說(shuō)了,然后就是在項(xiàng)目中引入我們的 less,需要的朋友可以參考下2022-11-11javascript內(nèi)置對(duì)象Date案例總結(jié)分析
今天總結(jié)javascript內(nèi)置對(duì)象Date的使用,并且寫(xiě)一個(gè)重要的網(wǎng)頁(yè)倒計(jì)時(shí)的核心算法案例,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03JavaScript 中 avalon綁定屬性總結(jié)
avalon是前端MVVM框架,在js中經(jīng)常會(huì)用到。這篇文章主要介紹了JavaScript 中 avalon綁定屬性總結(jié)的相關(guān)資料,需要的朋友可以參考下2016-10-10深入淺析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
這篇文章主要介紹了JavaScript字符串操作方法 slice、substr、substring及其IE兼容性 的相關(guān)資料,需要的朋友可以參考下2015-12-12