Ctrl+Enterによる提出フォーム
1775 ワード
入力フィールドのイベント:onkeydown=「ctrlEnt」
function isKeyTrigger(e,keyCode){
var argv = isKeyTrigger.arguments;
var argc = isKeyTrigger.arguments.length;
var bCtrl = false;
if(argc > 2){
bCtrl = argv[2];
}
var bAlt = false;
if(argc > 3){
bAlt = argv[3];
}
var nav4 = window.Event ? true : false;
if(typeof e == 'undefined') {
e = event;
}
if(bCtrl &&
!((typeof e.ctrlKey != 'undefined') ?
e.ctrlKey :
e.modifiers & Event.CONTROL_MASK > 0)) {
return false;
}
if( bAlt &&
!((typeof e.altKey != 'undefined') ?
e.altKey : e.modifiers & Event.ALT_MASK > 0)){
return false;
}
var whichCode = 0;
if (nav4) whichCode = e.which;
else if (e.type == "keypress" || e.type == "keydown") whichCode = e.keyCode;
else whichCode = e.button;
return (whichCode == keyCode);
}
function ctrlEnter(e){
var ie = navigator.appName == "Microsoft Internet Explorer" ? true : false;
if(ie){
if(event.ctrlKey && event.keyCode == 13) {
submit();
}
else {
if(isKeyTrigger(e,13,true)){
submit();
}
}
}
}