欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

慎用jQuery中的submit()方法

今天在做項(xiàng)目的過程中用到了submit()提交表單。

成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)與策劃設(shè)計(jì),齊齊哈爾網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:齊齊哈爾等地區(qū)。齊齊哈爾做網(wǎng)站價(jià)格咨詢:18980820575

折騰許久很是郁悶,經(jīng)過多方資料查詢和親測(cè)后,得出結(jié)論:

一定要慎用submit()方法

首先,在form表單中一定不要將input中的name或id命名為submit,否則會(huì)導(dǎo)致在submit()的失效,例如以下腳本在所有瀏覽器(IE/FF/CHROME/SAFARI)中都會(huì)失效:

<!DOCTYPE html>
<html>
<head>
<script src="http://cdn.bootcss.com/jquery/3.0.0-beta1/jquery.js"></script>
<title>Page Title</title>
</head>
<body>
<form id="myform" method="post" action="chromeTest.php">
<input name="test" value="test">
<input type="submit" name="submit" value="Edit">
</form>
<script>
$(function(){
	form = $('#myform'); 
	$('#myform input[type="submit"]').on("click",function(e){
		e.preventDefault()
		form.submit();
	})
})

</script>
</body>
</html>

jquery的官方文檔的additional notes中也提到了這一點(diǎn)

https://api.jquery.com/submit/

  • Forms and their child elements should not use input names or ids that conflict with properties of a form, such as submit,length, or method. Name conflicts can cause confusing failures. For a complete list of rules and to check your markup for these problems, see DOMLint.

----------------------

其次,我們要注意到通過form.submit()提交的表單,相對(duì)于正常提交表單會(huì)遺漏一些信息。

測(cè)試以下兩個(gè)腳本:

腳本1

<?
//腳本1
if(!empty($_POST))
print_r($_POST);
?>
<!DOCTYPE html>
<html>
<head>
<script src="http://cdn.bootcss.com/jquery/3.0.0-beta1/jquery.js"></script>
<title>Page Title</title>
</head>
<body>
<form id="myform" method="post" action="chromeTest.php">
<input type="text" name="text1" value="test">
<input type="password" name="password1" value="test">
<input type="radio" name="radio1" value="test">
<input type="checkbox" name="checkbox1" value="test">
<input type="button" name="button1" value="test">
<input type="submit" name="submit1" value="Edit">
<input type="reset" name="reset1" value="Reset">
</form>
<script>
$(function(){
	form = $('#myform'); 
	$('#myform input[type="submit"]').on("click",function(e){
		e.preventDefault()

		form.submit();
	})
})

</script>
</body>
</html>

輸出結(jié)果為:

Array
(
    [text1] => test
    [password1] => school
    [radio1] => test
    [checkbox1] => test
)

腳本2

<?
//腳本2
if(!empty($_POST))
print_r($_POST);
?>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<form id="myform" method="post" action="chromeTest.php">
<input type="text" name="text1" value="test">
<input type="password" name="password1" value="test">
<input type="radio" name="radio1" value="test">
<input type="checkbox" name="checkbox1" value="test">
<input type="button" name="button1" value="test">
<input type="submit" name="submit1" value="Edit">
<input type="reset" name="reset1" value="Reset">
</form>
</body>
</html>

輸出結(jié)果為:

Array
(
    [test1] => test
    [password1] => school
    [radio1] => test
    [checkbox1] => test
    [submit1] => Edit
)

比較結(jié)果:

  1. type為"text"、"password"、"radio"、"checkbox"的input在兩種方法中都會(huì)正常傳遞

  2. type為"button"、"reset"的input在兩種方法中都不會(huì)傳遞

  3. type為"submit"的input在正常的表單提交中會(huì)傳遞,而在submit()中會(huì)丟失

解決方法:

  1. 在submit()前,添加"submit"的值

<input type="hidden" name="submit1" value="Edit">

2.換用以下方法,親測(cè)可用

form.submit(function(){
    submit = true
    //你的業(yè)務(wù)邏輯
    if(!submit) return false
})

---------------

要說(shuō)明一點(diǎn):

網(wǎng)上有部分聲音說(shuō)webkit瀏覽器(例如chrome)不支持submit()方法,根據(jù)我親身測(cè)試新版本的chrome/safari是支持的,可能某些遠(yuǎn)古版本不支持吧。

最后附上測(cè)試所用的瀏覽器版本:

Chrome: 50.0.2661.102 m

Firfox: 48.0a2

IE:11.0.9600

Safari:windows上的5.1.7 及IOS9.3.1上的Safari

分享標(biāo)題:慎用jQuery中的submit()方法
URL鏈接:http://chinadenli.net/article34/ihjgpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、做網(wǎng)站、微信小程序商城網(wǎng)站、網(wǎng)站營(yíng)銷、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
国产日韩在线一二三区| 国产av一二三区在线观看| 东京热男人的天堂社区| 中文字幕高清免费日韩视频| 午夜国产精品福利在线观看| 一区二区福利在线视频| 成人日韩在线播放视频| 亚洲人午夜精品射精日韩| 微拍一区二区三区福利| 韩国日本欧美国产三级| 中日韩美一级特黄大片| 一二区不卡不卡在线观看| 午夜精品在线视频一区| 国产又黄又爽又粗视频在线| 日本免费一区二区三女| 亚洲欧美日韩精品永久| 婷婷九月在线中文字幕| 在线免费国产一区二区| 日韩欧美中文字幕av| 国产一级不卡视频在线观看| 激情亚洲内射一区二区三区| 中文字幕日韩无套内射| 九九热在线视频精品免费| 亚洲一区二区三区免费的视频 | 国产视频在线一区二区| 国产精品免费自拍视频| 亚洲欧美日韩国产成人| 香蕉网尹人综合在线观看| 男女激情视频在线免费观看| 久久91精品国产亚洲| 麻豆国产精品一区二区| 亚洲天堂久久精品成人| 一区二区福利在线视频| 国产精品欧美日韩中文字幕| 丝袜av一区二区三区四区五区| 欧美亚洲国产日韩一区二区| 免费在线播放不卡视频| 国产在线一区中文字幕 | 久久精品亚洲精品国产欧美| 美女被啪的视频在线观看| 欧美偷拍一区二区三区四区|