2012-04-06 24 views
1

私は、関数名と同じidと名前のボタンの "クリック"ハンドラとして関数をバインドします。関数が未定義であり、関数が実行されていないというエラーが返されます。関数名が定義されていないのはなぜですか?

<input type="button" name="saveClientDetail" id="saveClientDetail" onclick="saveClientDetail();" value="Save"/> 

この要素を含むHTMLは、AJAXを使用して読み込まれます。関数saveClientDetail();は、外部JSファイルで定義されています。ボタンをクリックすると、 "saveClientDetail()is undefined"というエラーが表示されます。関数名を変更すると、エラーは発生しません。それはなぜそうですか?

+0

saveClientDetail()はどのように定義されていて、入力マークアップで参照する前にインクルードされていますか? – kinakuta

+4

http://stackoverflow.com/questions/9158238/why-js-function-name-conflicts-with-element-id –

+0

'id =" saveClientDetail "'はあなたのボタンに一意のIDを与えるため、名前の競合する問題かもしれません。 DOM。 – Code0987

答えて

2

あなたはid,であり、同じ 'saveClientDetail'という名前で機能します。そして、あなたがそれを書いたときに、ブラウザはあなたが意味するものをsaveClientDetailと区別することができませんでした。

関連する問題