導航:首頁 > 編程語言 > js表單判斷成功後提交

js表單判斷成功後提交

發布時間:2024-11-07 02:49:13

js表單提交

表單提交是剛開始學js的朋友很迷惑的一個問題,怎麼提交,怎麼阻止默認提交,怎麼提交表單不跳轉等等問題,下面是一些示例

原始的表單提交有 button 按鈕提交和 <input /> 類型的。它們又什麼區別呢?

(1) 默認表單提交

(2)默認不會提交表單

(3) 如果在 form ,我們使用了 type=''submit 屬性,但是不讓表單默認提交,有什麼辦法呢?看下面

(4) 如果在 form ,我們使用了 type=''button 屬性,但是還是需要提交表單,這是可以使用ajax來提交,好處是可以自己控制提交,並且頁面不會跳轉

(5)若是使用默認提交的方法,且提交之前驗證表單,方法看下面

(6) 若是使用了 type='button' 屬性,但是還是想實現默認提交的方式怎麼辦? 看下面

(7) 下面的提交會發生什麼?

分析 : 點擊提交按鈕:
(1)當表單驗證失敗時,不會觸發 form.submit() 函數,所以可以觸發 <form> 的 onsubmit 句柄,又因為該句柄 return false 所以表單不會從該句柄處默認提交,所以 會在控制台列印出 表單的onsubmit事件句柄在form.submit()調用時失效'
(2)當表單驗證成功時,會觸發 form.submit() 函數提交表單,又因為 form.submit()提交表單的方式與用戶單擊 Submit 按鈕一樣,但是表單的 onsubmit 事件句柄不會被調用,所以 控制台不會列印出 表單的onsubmit事件句柄在form.submit()調用時失效

現在表單默認提交的方式基本沒人用了,都是ajax非同步提交。但是了解一些還是好的。。。

❷ js如何實現submit的點擊事件判斷是否觸發表單提交

submit只是表單提交來時的驗證事源件,無法獲取提交是否成功
return false阻止表單提交,自己寫ajax提交表單內容
$("#xxx").submit(function () {
$.ajax({ type: 'POST', data: $(this).val(), url: 'xxxx',
success: function () { //...
},
error: function (xhr) {
//...
}
});
return false;
});

❸ 濡備綍鐢╦s鎻愪氦琛ㄥ崟濡備綍鐢╦s鎻愪氦琛ㄥ崟鏁版嵁搴

Js琛ㄥ崟鎻愪氦

琛ㄥ崟鎻愪氦瀵逛簬鍒氬紑濮嬪︿範js鐨勬湅鍙嬫潵璇存槸涓涓姣旇緝鍥版儜鐨勯棶棰樸傚備綍鎻愪氦錛屽備綍闃叉㈤粯璁ゆ彁浜わ紝濡備綍鎻愪氦琛ㄥ崟涓嶈煩杞絳夈傝繖閲屾湁涓浜涗緥瀛愩

鐨勫師濮嬭〃鍗曟彁浜ゆ湁鎸夐挳鎸夐挳鎻愪氦鍜岀殑綾誨瀷銆備袱鑰呮湁浠涔堝尯鍒錛

(1)榛樿よ〃鍗曟彁浜

(2)榛樿や笉浼氭彁浜よ〃鍗曘

(3)濡傛灉鍦ㄨ〃鍗曚腑錛屾垜浠浣跨敤浜唗ype=''submit灞炴э紝浣嗘槸涓嶈╄〃鍗曢粯璁ゆ彁浜わ紝鎬庝箞鍔烇紵鐪嬩笅闈

(4)濡傛灉鍦ㄨ〃鍗曚腑錛屾垜浠浣跨敤type=''button灞炴э紝浣嗚繕鏄闇瑕佹彁浜よ〃鍗曪紝鍙浠ョ敤ajax鎻愪氦銆傚ソ澶勬槸鍙浠ヨ嚜宸辨帶鍒舵彁浜わ紝欏甸潰涓嶄細璺寵漿銆

(5)濡傛灉浣跨敤榛樿ゆ彁浜ゆ柟寮忥紝騫朵笖鍦ㄦ彁浜ゅ墠瀵硅〃鍗曡繘琛屼簡楠岃瘉錛岃峰弬鑰冧互涓嬫柟娉曘

(6)濡傛灉浣跨敤浜唗ype='button'灞炴э紝浣嗕粛鎯沖疄鐜伴粯璁ょ殑鎻愪氦鏂規硶鎬庝箞鍔烇紵鐪嬩笅闈

(7)涓嬮潰鐨勬彁浜や細鎬庝箞鏍鳳紵

鍒嗘瀽:鍗曞嚮鎻愪氦鎸夐挳:

(1)褰撹〃鍗曢獙璇佸け璐ユ椂錛宖orm.submit()鍑芥暟涓嶄細琚瑙﹀彂錛屾墍浠鏍囩

input鐢ㄤ簬鏀墮泦鐢ㄦ埛淇℃伅錛屾牴鎹涓嶅悓鐨勭被鍨嬫樉紺轟笉鍚岀殑褰㈠紡銆俰nput鏄絀烘爣絳撅紝瀹冩病鏈夌粨鏉熸爣絳撅紝鍦ㄥ紑濮嬫爣絳句腑緇撴潫銆俽鍏冪礌鏍規嵁涓嶅悓鐨則ype灞炴э紝鍙浠ュ彉鍖栦負澶氱嶅艦鎬併俽鍏冪礌璁劇疆name灞炴э紝鐢ㄤ簬緗戠粶璇鋒眰鏃舵彁浜ゅ瑰簲杈撳叆鐨勫瓧孌點俽input="text"鏂囨湰妗唕瀹氫箟鍗曡岀殑杈撳叆瀛楁碉紝鐢ㄦ埛鍙鍦ㄥ叾涓杈撳叆鏂囨湰銆傚畠鏄涓涓鍗曡屾枃鏈妗嗭紝input鐨勯粯璁ょ被鍨嬪嵆鏄痶ext綾誨瀷銆俽input="password"瀵嗙爜妗唕綾誨瀷涓簆assword鏃訛紝瀹冪敤浜庢敹闆嗙敤鎴瘋緭鍏ョ殑瀵嗙爜錛屽湪浣犺緭鍏ユ椂錛屾祻瑙堝櫒浼氭妸杈撳叆鐨勫唴瀹逛互絎﹀彿鏉ヤ唬鏇褲俽鏂囨湰妗嗗拰瀵嗙爜妗嗛兘鍙浠ユ坊鍔爌laceholder灞炴э紝鐢ㄤ簬璁劇疆杈撳叆瀛楁甸勬湡鍊肩殑鎻愮ず淇℃伅銆傝ユ彁紺轟細鍦ㄨ緭鍏ュ瓧孌典負絀烘椂鏄劇ず錛屽苟浼氬湪瀛楁佃幏寰楃劍鐐規椂娑堝け銆俽type="radio"鍗曢夋唕綾誨瀷涓簉adio鏃訛紝鐢ㄤ簬瀹氫箟鍗曢夋寜閽錛宯ame灞炴у肩浉鍚岀殑input鍗曢夋嗗彧鑳芥湁涓涓琚閫変腑銆俽璁劇疆榛樿ら変腑鐨勫崟閫夋嗐傛槸鎻愪氦鍒版湇鍔″櫒鏃剁粰鍚庡彴紼嬪簭鍛樹滑鐪嬬殑銆俽type="checkbox"澶嶉夋唕綾誨瀷涓篶heckbox鏃訛紝鐢ㄤ簬瀹氫箟澶嶉夋寜閽錛屽嶉夋嗗厑璁哥敤鎴峰湪涓瀹氭暟鐩鐨勯夋嫨涓閫夊彇涓涓鎴栧氫釜閫夐」銆俽type="file"鏂囦歡涓婁紶r綾誨瀷涓篺ile鏃訛紝榛樿や負鍗曟枃浠朵笂浼犮俽璁劇疆涓哄氭枃浠朵笂浼犮俽type="hidden"闅愯棌瀛楁祌闅愯棌瀛楁靛逛簬鐢ㄦ埛鏄涓嶅彲瑙佺殑銆傞殣鈃忓瓧孌甸氬父浼氬瓨鍌ㄤ竴涓榛樿ゅ礆紝瀹冧滑鐨勫間篃鍙浠ョ敱javaScript榪涜屼慨鏀廣俽

2.2select>涓嬫媺鍒楄〃

select>鍏冪礌瀹氫箟涓嬫媺鍒楄〃錛宱ption>鍏冪礌瀹氫箟寰呴夋嫨鐨勯夐」銆傚垪琛ㄩ氬父浼氭妸棣栦釜閫夐」鏄劇ず涓鴻閫夐夐」錛岄氳繃娣誨姞selected灞炴ф潵瀹氫箟棰勫畾涔夐夐」銆俽鍗曢夋寜閽銆佸嶉夋嗛粯璁ら変腑鐢錛歝hecked灞炴с俽涓嬫媺鍒楄〃浣跨敤錛歴elected灞炴с俽浣跨敤size灞炴ц劇疆涓嬫媺鍒楄〃灞曞紑錛屼嬌鐢╩ultiple灞炴ц劇疆澶氶夈俽

2.3textarea>鏂囨湰鍩

textarea>鍏冪礌瀹氫箟澶氳岃緭鍏ュ瓧孌碉紙鏂囨湰鍩燂級rcols錛氳勫畾鏂囨湰鍖哄唴鐨勫彲瑙佸藉害銆俽rows錛氳勫畾鏂囨湰鍖哄唴鐨勫彲瑙佽屾暟銆俽鏂囨湰鍩熷彲浠ユ坊鍔爌laceholder灞炴э紝鐢ㄤ簬璁劇疆杈撳叆瀛楁甸勬湡鍊肩殑鎻愮ず淇℃伅銆俽

2.4label>鏍囩

label鏄痠nput鐨勬弿榪幫紝瀹冩湰韜涓嶄細鏈夌壒孌婃晥鏋滐紝浣嗗畠鍜屽叾瀹僫nput鏍囩句嬌鐢ㄥ彲浠ユ彁鍗囩敤鎴風殑浣跨敤浣撻獙錛岀敤鎴蜂笉鐢ㄩ潪寰楃偣鍑誨埌鎸夐挳錛岃屾槸鐐瑰嚮鏂囧瓧鍗沖彲閫変腑錛屽傗滆頒綇瀵嗙爜鈥濄俽閫氳繃label鐨刦or鎸囧悜鎸夐挳鐨剗d鏉ョ粦瀹氾紝for鍜宨d灞炴х殑鍊艱佺浉鍚屻俽3.琛ㄥ崟鎸夐挳type="reset"閲嶇疆鎸夐挳r閲嶇疆鎸夐挳浼氭竻闄よ〃鍗曚腑鐨勬墍鏈夋暟鎹銆俽璁劇疆閲嶇疆鎸夐挳涓婃樉紺虹殑鏂囧瓧銆俽type="submit"鎻愪氦鎸夐挳rtype="submit"瀹氫箟鎻愪氦鎸夐挳銆傛彁浜ゆ寜閽鐢ㄤ簬鍚戞湇鍔″櫒鍙戦佽〃鍗曟暟鎹錛屾暟鎹浼氬彂閫佸埌琛ㄥ崟鐨刟ction灞炴т腑鎸囧畾鐨勯〉闈銆俽璁劇疆鎻愪氦鎸夐挳涓婃樉紺虹殑鏂囧瓧銆俽type="button"鏅閫氭寜閽畆button綾誨瀷鐨勫彧鏄涓涓鏅閫氱殑鎸夐挳錛岃宻ubmit鏈変竴涓鎻愪氦鐨勪綔鐢錛屽湪娌℃湁鍔爅s浠g爜鐨勬儏鍐典笅錛宐utton鍙鏄涓瑁呴グ銆俽type="image"鎻愪氦鎸夐挳rimage綾誨瀷鐨剗nput涔熸槸鍏鋒湁涓涓鎻愪氦鐨勪綔鐢錛屼笉鍚岀殑鏄鍙浠ユ寚瀹氫竴騫呭浘鐗囨潵浣滀負鎸夐挳錛屼笉鎻愬′嬌鐢╥mage錛屽洜涓哄畠鏈夋椂鍊欎細鎻愪氦涓ゆ°俽

AngularJS浣跨敤angular-formly榪涜岃〃鍗曢獙璇侊紵

Angular鐨勮〃鍗曞睘鎬$valid,$invalid,$pristine,$dirtyAngular鎻愪緵浜嗘湁鍏寵〃鍗曠殑灞炴ф潵甯鍔╂垜浠楠岃瘉琛ㄥ崟.浠栦滑緇欐垜浠鎻愪緵浜嗗悇縐嶆湁鍏充竴涓琛ㄥ崟鍙婂叾杈撳叆鐨勪俊鎮錛屽苟涓斿簲鐢ㄥ埌浜嗚〃鍗曞拰杈撳叆.灞炴х被鎻忚堪$validng-validBoolean鍛婅瘔鎴戜滑榪欎竴欏瑰綋鍓嶅熀浜庝綘璁懼畾鐨勮勫垯鏄鍚﹂獙璇侀氳繃$invalidng-invalidBoolean鍛婅瘔鎴戜滑榪欎竴欏瑰綋鍓嶅熀浜庝綘璁懼畾鐨勮勫垯鏄鍚﹂獙璇佹湭閫氳繃$pristineng-pristineBoolean濡傛灉琛ㄥ崟鎴栬呰緭鍏ユ嗘病鏈変嬌鐢ㄥ垯涓篢rue$dirtyng-dirtyBoolean濡傛灉琛ㄥ崟鎴栬呰緭鍏ユ嗘湁浣跨敤鍒板垯涓篢rueAngular涔熸彁渚涗簡鏈夊叧琛ㄥ崟鍙婂叾杈撳叆妗嗙殑綾伙紝浠ヤ究浣犺兘澶熶緷鎹姣忎竴涓鐘舵佽劇疆鍏舵牱寮.璁塊棶琛ㄥ崟灞炴ф柟浣嶈〃鍗:formname>.angularproperty>璁塊棶涓涓杈撳叆妗:formname>.inputname>.angularproperty>

form琛ㄥ崟閫氳繃js鎻愪氦錛屽彟澶栬煩杞瑂ervlet鏃訛紝鑷宸卞畾涔変簡涓涓鏁幫紝浼犲弬榪囧幓錛屽彲浠ュ悧錛屼笉鏄痜o錛

鑷瀹氫箟鍙傛暟錛屽彲浠ラ氳繃鍦╢orm琛ㄥ崟涓璁劇疆闅愯棌鍩熶紶鍊糹nputtype="hidden"name="arg_name"value="arg_value"/>鍚庡彴閫氳繃arg_name鎺ユ敹arg_value鐨勫

瀹㈡埛絝鎻愪氦璇鋒眰鐨勫洓縐嶆柟寮忥紵

瀹㈡埛絝璇鋒眰鏂伴〉闈㈠拰鎻愪氦鏁版嵁鐨勫洓縐嶆柟寮

瓚呴摼鎺 瓚呴摼鎺+js submit鎸夐挳鎻愪氦琛ㄥ崟 浣跨敤js鎻愪氦琛ㄥ崟

鎵撳紑鏂伴〉闈㈢殑鏂瑰紡

浣跨敤鐩稿硅礬寰勫拰緇濆硅礬寰

浣跨敤url鎼哄甫鍙傛暟

鎻愪氦鏁版嵁鐨勬柟寮忎負get鏂瑰紡

window.location

window.open;

鍏堥獙璇佸啀鎻愪氦琛ㄥ崟銆

浣跨敤hidden鎻愪氦鏁版嵁錛堥潪鐢ㄦ埛濉鍐欐暟鎹錛

浣跨敤button+js

浣跨敤a>+js

涓鑸涓簆ost鎻愪氦鏂瑰紡

1銆佽秴閾炬帴錛

鎵撳紑鏂伴〉闈錛歛target="_blank">;

浣跨敤url鎼哄甫鍙傛暟錛歛href="page2.jsp?uid=adminpass=123">

娉ㄦ剰錛氬氫釜鍙傛暟涔嬮棿浣跨敤榪炴帴錛屼嬌鐢?琛ㄧず鎼哄甫鍙傛暟錛

2銆佽秴閾炬帴+js錛

浣跨敤window.locationscripttype="text/javascript">

functionfun(){window.location="page2.jsp";}/script>

a閾炬帴鐨勫啓娉曪細ahref="javascript:fun();">閾炬帴鍒皃age2/a>href榪炴帴涓璋冪敤fun鍑芥暟銆

浣跨敤window.open()scripttype="text/javascript">

functionfun(){window.open("page2.jsp");--琛ㄧず鍦ㄦ柊紿楀彛鎵撳紑閾炬帴銆倉/script>

a閾炬帴涓錛歛href="javascript:fun();">閾炬帴鍒皃age2/a>

3銆佷嬌鐢╯ubmit鎸夐挳鎻愪氦鏁版嵁琛ㄥ崟錛氭敞鎰廰ction鍜宮ethod涓や釜灞炴ц〃紺虹殑鍚涔

瀵逛簬鐢ㄦ埛杈撳叆鏁版嵁錛歛銆侀渶瑕佹湁鐢ㄦ埛杈撳叆妗嗗嵆inputtype="text"name="username"/>鍦ㄦよ緭鍏ユ嗕腑杈撳叆鏁版嵁銆

b銆佹湁鏃墮渶瑕佸厛楠岃瘉錛屽啀鎻愪氦鏁版嵁錛

渚嬶細inputtype="text"name="uid"id="uid"/>functionfun4()

varuid=document.getElementById("uid").value;--鑾峰彇input杈撳叆妗嗙殑vaule鍊

if(uid==""){

alert("璇瘋緭鍏ョ敤鎴峰悕");

returnfalse;---琛ㄧず涓嶆彁浜ゆ暟鎹畗else{

returntrue;--鎻愪氦鏁版嵁}

submit鎻愪氦鎸夐挳inputtype="submit"value="鎻愪氦琛ㄥ崟"慰nclick="returnfun4();">

瀵逛簬闈炵敤鎴瘋緭鍏ユ暟鎹錛氫笉闇瑕乮nput杈撳叆妗

浣跨敤hidden鎻愪氦鏁版嵁錛

!--浣跨敤hidden鎻愪氦鏁版嵁->

formaction="page2.jsp"method="post">

inputtype="hidden"name="uid"id="uid2"value="admin">

inputtype="submit"value="鎻愪氦琛ㄥ崟">br/>

scripttype="text/javascript">

document.getElementById("uid2").value="admin2";--涓ょ嶅弬鏁板

/script>

/form>

4銆佷嬌鐢╦s鎻愪氦琛ㄥ崟錛

浣跨敤button+js鎻愪氦錛

button涓嶅叿澶囨彁浜ゅ姛鑳斤細

!--浣跨敤button鍜宩s鎻愪氦琛ㄥ崟-->

formaction="page2.jsp"method="post"id="form1">

inputtype="text"name="uid">

inputtype="button"value="鎻愪氦琛ㄥ崟"慰nclick='document.getElementById("form1").submit();'>---鑾峰彇鐨勬槸form鏍囩懼硅薄/form>

浣跨敤a>+js鎻愪氦琛ㄥ崟

!--浣跨敤a>鍜宩s鎻愪氦琛ㄥ崟>

formaction="page2.jsp"method="post"id="form2">

inputtype="text"name="uid">

ahref='javascript:document.getElementById("form2").submit();'>鎻愪氦琛ㄥ崟/a>br/>

/form>

js琛ㄥ崟鎬庝箞鍏佽稿嚱鏁幫紵

榪愮敤寮傛ユ濇兂promise瀹炵幇鎻愪氦涔嬪悗鍥炶皟,姣斿俛jax鐨剆uccess鍑芥暟灝辨槸鎻愪氦鎴愬姛鍚庣殑鍥炶皟

❹ 兩個問題:表單驗證不通過還是提交,java中action怎麼設置頁面不跳轉,表單提交後還是原來頁面;

1. 驗證時,除了來 adUpdateCheck 函數里返源回false之外,button 里還需要寫成這樣:

<buttonid="useSet"onclick="returnadUpdateCheck()"></button>

這樣才能在返回false的時候不提交表單,因為這種內聯方式的onclick事件,引號內部其實是JS語句,而不是只表示JS函數。


2. 提交後返回原頁面,只需要設置result為提交之前一樣的就可以了,比如 return "success" 或者 return "input"。如果 return null 的話,是沒有任何結果,將得到一個空白頁面。

❺ 如何判斷jsp表單是否成功提交

你可以在判斷的時候檢查數據是否提交完成。如果提交完成,就給一個提示。
那麼如何知道數據提交完成呢?你在提交時應該要有一個預期,如果達到了預期,就認為提交完成。^_^

閱讀全文

與js表單判斷成功後提交相關的資料

熱點內容
ps入門必備文件 瀏覽:348
以前的相親網站怎麼沒有了 瀏覽:15
蘋果6耳機聽歌有滋滋聲 瀏覽:768
怎麼徹底刪除linux文件 瀏覽:379
編程中字體的顏色是什麼意思 瀏覽:534
網站關鍵詞多少個字元 瀏覽:917
匯川am系列用什麼編程 瀏覽:41
筆記本win10我的電腦在哪裡打開攝像頭 瀏覽:827
醫院單位基本工資去哪個app查詢 瀏覽:18
css源碼應該用什麼文件 瀏覽:915
編程ts是什麼意思呢 瀏覽:509
c盤cad佔用空間的文件 瀏覽:89
不銹鋼大小頭模具如何編程 瀏覽:972
什麼格式的配置文件比較主流 瀏覽:984
增加目錄word 瀏覽:5
提取不相鄰兩列數據如何做圖表 瀏覽:45
r9s支持的網路制式 瀏覽:633
什麼是提交事務的編程 瀏覽:237
win10打字卡住 瀏覽:774
linux普通用戶關機 瀏覽:114

友情鏈接