私はJavascriptとJQueryに非常に慣れていません。
MacOSX 10.8、Safari バージョン 6.0.3 (8536.28.10)
フォームを含む非常に単純な HTML ページがあります。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="wufooTheme8/css/theme.css" type="text/css" />
<title>
Course Search
</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="http://yandex.st/json2/2011-10-19/json2.min.js"></script>
<script type="text/javascript" src="application2.js"></script>
</head>
<body>
<form method="post" id="class-find">
<label>Class Name</label> <input type="text" name="classname" value=""/>
<input type="button" value="Go" onclick="classFind(this.form)" />
</form>
</body>
私のapplication2.jsファイルには、2つの呼び出し/関数があります:
$('form').bind("keydown", function(e) {
var code = e.keyCode || e.which;
if (code == 13) {
e.preventDefault();
return false;
}
});
function classFind(frm) {
alert('submitted!');
}
1つ目は、Enterキーがフォームをデフォルトのアクションに送信するのを止めることになっています.SOの別の回答から取得しましたが、機能していません。2 番目の関数は、送信ボタンが押されたときにアラートを表示するだけで、機能しています。JavaScriptスコープの問題か、私がよく知らない何かがあると確信していますが、私はそれを理解できないほど初心者です。