2012-02-16 18 views
2

は、誰もが:) .."displaymessage is not defined"というエラーメッセージが表示されるのはなぜですか?私はこのコードとエラーメッセージ「DisplayMessageとが定義されていない」得続ける理由

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>TEST PAGE</title> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 

function displaymessage() { 
    alert("Hello World!"); 
    } 

}); 
</script> 
</head> 

<body> 
<p><input type="button" name="start" id="start" value="start" onclick="displaymessage()" /></p> 
</body> 
</html> 

答えて

1

が好きでなければならないちょうどそれの外に書きます。そして、まだ - 関数が実際に定義されて前を処理されます何か - あなたはDOM要素のクリックにハンドラとして追加します。

$(document).ready(function(){...}の外に定義を移動

、あなたはOKでしょう。

はまた、様々なDOMイベントにハンドラを結合する好ましい方法は、プログラムではなく、宣言です。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

... 

<script type="text/javascript"> 
$(document).ready(function() { 

function displaymessage() { 
    alert("Hello World!"); 
} 

$('#start').on('click', displaymessage); 

}); 
</script> 
</head> 

<body> 
<p><input type="button" name="start" id="start" value="start"/></p> 
</body> 
</html> 
+0

グレート - 働いている:$(ドキュメント).readyの外に定義を移動します(関数(){...} ..おかげ;) – MWD

2

範囲を事前に感謝を教えてもらえます。あなたの関数はonload関数のスコープ内で宣言されているため、アクセスできる唯一の場所です。他の場所からアクセスするには、$(document).ready機能の外に移動します。

0

なぜあなたはドキュメント準備関数内で記述します。 ...よくDOMの準備ができているとき...それは定義されることを意味する - あなたはDOM準備完了コールバックであなたのdisplayMessage関数を定義し、この

<script type="text/javascript"> 

function displaymessage() { 
    alert("Hello World!"); 
    } 


</script> 
+0

私が使用する実際のスクリプトがそれにjqueryのを持っています。代わりにあなたのボタンにonclick属性を追加することで、あなたのようなものに全体の事を書き換える必要があります。例: 関数removeAjaxSpinnerFunction(){ $( "#1 AjaxSpinner")()を除去します。 } – MWD

関連する問題