天天看点

form的submit方法和submit事件(onsubmit)

form鐨剆ubmit鏂规硶鍜宻ubmit浜嬩欢(onsubmit)

褰撶敤javascript璋冪敤form鐨勬柟娉晄ubmit鐩存帴鎻愪氦form鐨勬椂鍊欙紝submit浜嬩欢涓嶅搷搴斻€備负浠€涔堬紵鏈枃浠嬬粛浜嗗浣曞疄鐜拌嚜鍔ㄦ彁浜?

涓€銆侀棶棰樻弿杩?

褰撶敤JS璋冪敤form鐨勬柟娉晄ubmit鐩存帴鎻愪氦form鐨勬椂鍊欙紝submit浜嬩欢涓嶅搷搴斻€備负浠€涔堬紵鐭ラ亾鐨勮鍥炲銆傜被姣斾竴涓嬶紝鎴戠敤input.select()鍋氫簡娴嬭瘯锛屽嵈鑳藉搷搴攕elect浜嬩欢銆傝繖涓師鍥犲厛鏀句竴杈癸紝鎴戜滑鐪嬬湅鍏堟€庝箞鎶婄溂涓嬬殑闂瑙e喅浜嗐€?

涓嶅搷搴斾簨浠剁殑浠g爜绀轰緥锛?

<form id="form1" action="http://www.koubei.com"></form>           
<script type="text/javascript">

var form = document.getElementById('form1');

form.onsubmit = function() {

alert(1);

};

form.submit();

</script>           

瀹為檯杩愯锛屼笉浼氭湁alert鍑烘潵銆?

铏界劧鐢╯ubmit鏂规硶鏉ユ彁浜よ〃鍗曟湁杩漊nobtrustive Javascript鐨勫師鍒欙紝浣嗘湁鏃跺€欎笉寰椾笉鐢紝姣斿鍋氭悳绱㈡彁绀猴紙auto-complete)閫変腑Item涔嬪悗灏遍渶瑕佺敤JS鏉ユ彁浜ゆ悳绱㈣〃鍗曘€?

浜屻€侀棶棰樺垎鏋?

鏃㈢劧鏈韩涓嶅搷搴斾簨浠讹紝閭e彧鏈夋墜宸ヨЕ鍙戣繖浜涗簨浠朵簡锛岀‘瀹氭墜宸ヨЕ鍙戞柟妗堜箣鍓嶅厛鍥為【涓€涓嬩簨浠剁殑娉ㄥ唽鏂瑰紡锛?

鈥滃師濮嬧€濈殑娉ㄥ唽鏂瑰紡鏈変袱绉嶏紝鐪嬩唬鐮佺ず渚嬶細

<form id="form1" action="http://www.koubei.com" onsubmit="alert(1)"></form>

<form id="form1" action="http://www.koubei.com"></form>           
<script type="text/javascript">

document.getElementById('form1').onsubmit = function() {

alert(1);

}

</script>           

杩欐牱鐨勬敞鍐屼簨浠讹紝浼氱粰form澧炲姞浜嗕竴涓柟娉昽nsubmit銆傛墍浠ワ紝鍙互閫氳繃鐩存帴鎵ц杩欎釜鏂规硶锛岀瓑鍚屼簬鎵嬪伐瑙﹀彂浜嗕簨浠躲€?

鐪嬩唬鐮佺ず渚嬶細

<script type="text/javascript">

form.onsubmit();

</script>           

杩欐牱鍙互寰楀埌涓€涓猘lert銆?

浣嗘槸鍦ㄥ浠娾€滃厛杩涒€濈殑DOM2鏍囧噯娉ㄥ唽鏂瑰紡浠ュ強IE鐨勬敞鍐屾柟寮廰ttachEvent宸茬粡寰堝父鐢ㄣ€傝繖浜涙敞鍐屾柟寮忥紝onsubmit鏂规硶鏄笉瀛樺湪鐨勶紝濡傛灉浣跨敤form.onsubmit()浼氱洿鎺ユ姤閿欍€?

涓夈€佽В鍐虫柟妗?

褰撶劧鈥滃厛杩涒€濈殑娉ㄥ唽鏂瑰紡鏈韩涔熸彁渚涗簡鎵嬪伐瑙﹀彂浜嬩欢鐨勮В鍐虫柟妗堬紝鍙槸瑕侀拡瀵笵OM2鏍囧噯鍜孖E鍐欎笉鍚岀殑绋嬪簭锛屽彟澶栬繖涓▼搴忥紝瀵光€滃師濮嬧€濈殑娉ㄥ唽鏂瑰紡涔熶竴鏍锋湁鏁堛€傝鐪嬩唬鐮佺ず渚嬶細

<script type="text/javascript">

//IE fire event

if (form.fireEvent) {

form.fireEvent('onsubmit');

form.submit();

//DOM2 fire event

} else if (document.createEvent) {

var ev = document.createEvent('HTMLEvents');

ev.initEvent('submit', false, true);

form.dispatchEvent(ev);

}

</script>
           

鍥涖€佷唬鐮佹€荤粨

杩欓噷涓嶅啀瀵瑰悇缁嗚妭鏂规硶鍋氳鏄庯紝涓嶇啛鎮夌殑鏈嬪弸璇疯嚜琛屾煡闃呯浉鍏宠祫鏂欍€傛垜浠妸鏁翠釜浠g爜涓茶捣鏉ワ細

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>submit</title>
<script type="text/javascript" src="http://k.kbcdn.com/js/yui/build/utilities/utilities.js"></script>
</head>
<body>
<form id="form1" action="http://www.koubei.com"></form>
<script type="text/javascript">
var form = document.getElementById('form1');
//YUI register event
YAHOO.util.Event.on('form1', 'submit', function() {
alert('yui');
});
//DOM0 register event
form.onsubmit = function() {
alert(1);
};
//DOM2 register event
if (form.addEventListener) {
form.addEventListener('submit', function() {
alert(2);
}, false);
//IE register event
} else if (form.attachEvent) {
form.attachEvent('onsubmit', function() {
alert(2);
});
}

//IE fire event
if (form.fireEvent) {
form.fireEvent('onsubmit');
form.submit();
//DOM2 fire event
} else if (document.createEvent) {
var ev = document.createEvent('HTMLEvents');
ev.initEvent('submit', false, true);
form.dispatchEvent(ev);
}
</script>
</body>
</html>           

鏁翠釜璺戜笅鏉ユ湁涓皬闂锛孎X涓嬶紝涓嶉渶瑕乫orm.submit()锛岀洿鎺ユ妸琛ㄥ崟缁欐彁浜ゅ嚭鍘讳簡锛屾墍浠ヨ繖鍙ヤ篃鐪佹帀浜嗭紝鍘熷洜鐭ラ亾鐨勮鍥炲銆?

杩欎釜demo鍦↖E6/IE7/FX涓嬫祴璇曢€氳繃銆?

鍦ㄦ彁浜よ〃鏍兼椂锛屼竴鑸垜浠兘鏄敤鎻愪氦鎸夐挳<input type="submit" name="button" id="button" value="Submit" />鏉ュ疄鐜版暟鎹彁浜わ紝浣嗘湁鐨勬椂鍊欐垜浠负浜嗘帓鐗堢殑濂界湅锛屾垨鍏朵粬浠€涔堝師鍥狅紝鎴戜滑涓嶈兘鐢ㄦ寜閽潵瀹炵幇锛屽彧鏈夌敤涓€涓枃瀛楃殑閾炬帴鏉ュ仛锛屾€庝箞瀹炵幇鍛紵

浠g爜濡備笅锛?

<form id="form1" name="form1" method="post" action="aa.asp">
  <label>
  <input type="text" name="textfield" id="textfield" />
  </label>
<a href="javascript:form1.submit();" target="_blank" rel="external nofollow" >鎻愪氦</a>
</form>
           

鐪嬪埌浠g爜澶у鑲畾灏辨槑鐧戒簡锛屽疄鐜板氨鏄竴鍙avascript:form1.submit();灏卞彲浠ワ紝杩欓噷瑕佹槑鐧戒竴鐐瑰氨鏄紝濡傛灉瀹㈡埛绂佹浜咼S锛屽氨娌℃湁鍔炴硶鎻愪氦銆?/body>

继续阅读