2010-12-16 5 views
1

これは誰かにとっては簡単かもしれませんが、私は少し初心者で、どこでも検索します。私はJavaScript関数を持っています。phpやhtmlのjavascript関数を呼び出すのに役立つ

mkfile : function(fm) { 

これはon clickコマンドから実行しようとしています。

アイデア申し訳ありませんが、私はこれで少しのダンスをしていますが、私はすべてを試みましたが何も起こりません。

+1

のonclick = "機能(引数);"動作しませんか?もっとコードを投稿する必要があります – Robert

+1

あなたのJavaScriptスニペットは意味をなさないものです。構文上無効です。 –

+0

マット、私はそれがjavascriptの名前空間だと思います。 – mythicalprogrammer

答えて

3

属性onclickは、<a onclick="javascript:mkfile()" >Bob</a>として使用してください。あなたは事前にjavascript:を持っている必要はありませんが、それはIEのようなブラウザで役立ちます(私も起動さえしません)。

ところで、あなたのコードが間違っている、それは

function mkfile(fm) { 
    // your code 
} 

は、あなたがこれを理解していない場合は依頼するhesistateないでくださいする必要があります。より多くのコードなし

2

あなたが間違ってやっていることを伝えることは困難であるが、通常はこのように書きます:

<button id="foo">Click me!</button> 

<script type="text/javascript"> 

    document.getElementById('foo').onclick = function() { 
     alert('Hello World!'); 
    } 

</script> 

DEMO

結合イベントハンドラのいくつかの方法があります。

他の人が指摘したように
+0

これは 'from' HTMLやPHPではなく、それでも有効です。 (そして、それは質問のコードを含んでいません。 – Fred

+1

@Fred:1)HTMLコードにイベントハンドラを書くのは古い学校なので、とにかくやってはいけません。それ以外に、HTML *からJavaScriptを呼び出すことは、解釈に非常にオープンです。 2)phpからjavascript関数を呼び出す際に*ヘルプを読んだ場合、OPにはDOMスクリプティングに関する知識がほとんどないと判断され、最適な方法はわかりません。 –

+0

完全に合意しました。 – Fred

1

、それの多くを見ることなく、あなたのコードが間違っているものを見るために本当にことはできません)。私はquirksmode.org - Introduction to EventsMDC - Event handlersMDC - The DOM and JavaScriptを読んでも、そこに与えられたリンクをたどることをお勧め。これは、あなたが持っているもの、あなたが結合できる方法であれば

// Pattern one 
var makeMyObject = function() { 
    var privateVar = 'a private member'; 
    var privateMethod = function() {}; 
    var objOut = { 
     mkDir:function() {/*more code*/}, 
     mkFile:function() {/*more code*/}, 
     delFile:function() {/*more code*/} 
    }; 
    return objOut; 
}; 
myObject = makeMyObject(); 
myObject.mkFile(); 

// Pattern two 
var myObject = { 
    mkDir:function() {/*more code*/}, 
    mkFile:function() {/*more code*/}, 
    delFile:function() {/*more code*/} 
}; 
myObject.mkFile(); 

:しかし、あなたは(そのname:valueで)掲載の小さな部分のみがややJS設計の一般的なパターンですどちらも状況のカップル、有効ですあなたのHTMLコード内のonclickにこのです:

<a href="/some_page.html" onclick="myObject.mkFile()">Click here</a> 

またはあなたのJSで、

domMyAnchorElement.onclick = myObject.mkFile; // Note there are no parens because you are binding the function, not invoking it. 
+0

あなたがこれを行うことができるかどうかも知りませんでした!ありがとう! – Fred

+0

まだうまく動作しません。私はより多くの情報を追加しました。 – simon

+0

まだうまく動作しません。私はここにそれを付けたい。方法はありますか?ここにjsスクリプトがあります。ここにmkfile関数があります。 http://elrte.org/redmine/projects/elfinder/repository/revisions/master/entry/src/js/elFinder.ui.jsあなたがelfinderを見たことはありませんが、それはかなりよく見えます。 – simon

関連する問題