工作發現表單提交方便的問題,很多時候IE下提交好好的,打了火狐下就出現了問題,利用提交按鈕就不成功了,於是利用JS的方式就成功了,也不知道為什麼。在導師的催促下就總結出以下幾種常用的表單提交的方法。
第一種方式:表單提交,在form標籤中增加onsubmit事件來判斷表單提交是否成功
<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.php.cn" onsubmit="return validate(document.getElementByIdx_x('myText'));"> <!—参数的这种写法注意下--> <input type="text" id="myText"/> <input type="submit" value="submit"/> </form> </body>
第二種方式:透過button按鈕來觸發表單提交事件onclick="submitForm();",會忽略掉其他標籤中的屬性,例如form標籤中的onsubmit屬性就失效了。這時為了進行表單驗證,可以將驗證程式碼放在submitForm();方法中進行驗證。
<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.php.cn" id="myForm"> <input type="text"/> <input type="button" value="submitBtn" onclick="submitForm();"/> <!—也可以使用document.getElementByIdx_x(“该按钮的id”).click();来执行onclick事件--> </form> </body>
第三種方式:將onsubmit事件放在submit標籤中,而不是form標籤中,此時表單驗證失效,點選提交按鈕表單直接提交
<script type="text/javascript"> function validate() { if (confirm("提交表单?")) { return true; } else { return false; } } </script> <body> <form action="http://www.php.cn"> <input type="text"/> <input type="submit" value="submit" onsubmit="return validate()"/> </form> </body>
第四種方式:為submit按鈕新增上onclick事件,其中該事件用於表單提交的驗證,功能類似於在form標籤中增加了onsubmit事件一樣
<script type="text/javascript"> function validate() { if (confirm("提交表单?")) { return true; } else { return false; } } </script> <body> <form action="http://www.php.cn"> <input type="text"/> <input type="submit" value="submit" onclick="return validate()"/> </form> </body>
第五種方式:
<body> <form action="http://www.php.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; } }
透過button按鈕來觸發表單提交事件onclick="submitForm();" ,會忽略掉其他標籤中的屬性,例如form標籤中的onsubmit屬性就失效了。這時為了進行表單驗證,可以將驗證程式碼放在submitForm();方法中進行驗證
function submitForm() { if (validate()) { document.getElementByIdx_x("myForm").submit(); } } document.getElementByIdx_x("myBtn").onclick = submitForm; </script>
更多利用JS提交表單的幾種方法和驗證相關文章請關注PHP中文網!