JavaScript網(wǎng)頁表單form中禁止自動提交的兩種方式
前言
本文是我本人在開發(fā)網(wǎng)頁時,在表單中加入了button按鈕,本來是用于jQuery點擊相應事件的按鈕,然后,但我點擊button時,發(fā)現(xiàn)不是達到j(luò)Query指定效果,原本以為class標簽或者其他代碼寫錯,找了很久,之后查找資料,知道表單form提交除了submit提交還有button也會提交,所以總結(jié)如何處理不然button 提交表單,在本文中,我們將討論網(wǎng)頁表單(form)中提交的兩種方式。
解決方案
return false
一種是在jQuery代碼最后加一句:return false,禁止表單提交;
在jQuery事件處理函數(shù)中,返回false可以阻止表單的默認提交行為。這意味著當用戶點擊按鈕時,表單不會執(zhí)行提交操作。這種方法適用于需要在點擊按鈕后執(zhí)行其他操作(如AJAX請求)的情況。
type為button
另一種是定義button標簽方式為:新增一個附件即指定type為button
在HTML中,<button>元素有兩種類型:submit和button。默認情況下,<button>元素的類型為submit,這意味著當用戶點擊按鈕時,表單將執(zhí)行提交操作。通過將<button>元素的type屬性設(shè)置為button,我們可以阻止按鈕的默認提交行為。這種方法適用于不需要執(zhí)行表單提交,只需要執(zhí)行其他操作(如JavaScript事件處理)的情況。
以下是一個表單上傳文件并且可以在頁面添加多個file的前臺頁面代碼:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title>
</head><script type="text/javascript" src="${pageContext.request.contextPath }/script/jquery-1.7.2.js"></script><script type="text/javascript">
$(function(){
//全局變量
var i=2;
//通過表格來進行操作
$("#addFile").click(function(){
alert("www");
$(this).parent().parent().before("<tr class='file'><td>File"
+ i +":</td><td><input type='file' name='file"
+ i +"'/></td></tr><tr class='desc'><td>Desc"
+ i +":</td><td><input type='text' name='desc"
+ i +"'/><button type='button' id='delete"
+ i +"'>刪除</button></td></tr>");
i++;
//獲取新添加的刪除按鈕
$("#delete"+(i-1)).click(function(){
//獲取要刪除的行即desc
var $tr=$(this).parent().parent();
//file行也要刪除刪除
$tr.prev("tr").remove();
$tr.remove();
//對i重新排序
$(".file").each(function(index){
var n=index+1;
$(this).find("td:first").text("File"+n);
$(this).find("td: last input").attr("name","file"+n);
});
$(".desc").each(function(index){
var n=index+1;
$(this).find("td:first").text("Desc"+n);
$(this).find("td: last input").attr("name","desc"+n);
});
});
//return false,禁止提交表單
return false;
});
});
</script>
<body>
<font color="red">${msg }</font>
<br><br>
<form action="UploadServlet" method="post" enctype="multipart/form-data">
<input type="hidden" id="fileNum" name="fileNum" value="1"/>
<!-- 通過表格包裝成一個整體 -->
<table>
<tr class="file">
<td>File1:</td>
<td><input type="file" name="file1"/></td>
</tr>
<tr class="desc">
<td>Desc1:</td>
<td><input type="text" name="desc1"/></td>
</tr>
<tr>
<td><input type="submit" id="submit" value="提交"/></td>
<!-- 必須指定類型是type="button"否則,點擊后會提交表單 -->
<td><button type="button" id="addFile">新增一個附件</button></td>
</tr>
</table>
</form>
</body>
</html>
總結(jié)
- 當需要在點擊按鈕后執(zhí)行其他操作(如AJAX請求)時,可以在jQuery事件處理函數(shù)中返回
false以禁止表單提交。 - 當不需要執(zhí)行表單提交,只需要執(zhí)行其他操作(如JavaScript事件處理)時,可以將
<button>元素的type屬性設(shè)置為button以阻止按鈕的默認提交行為。
到此這篇關(guān)于JavaScript網(wǎng)頁表單form中禁止自動提交的兩種方式的文章就介紹到這了,更多相關(guān)JavaScript form禁止自動提交內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript簡單進制轉(zhuǎn)換實現(xiàn)方法
這篇文章主要介紹了javascript簡單進制轉(zhuǎn)換實現(xiàn)方法,涉及javascript字符串轉(zhuǎn)換與數(shù)值操作相關(guān)技巧,需要的朋友可以參考下2016-11-11
JS中檢測數(shù)據(jù)類型的幾種方式及優(yōu)缺點小結(jié)
這篇文章主要介紹了JS中檢測數(shù)據(jù)類型的幾種方式及優(yōu)缺點小結(jié),非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-12-12

