2010-12-16 50 views
1

這對某人來說可能很簡單,但我是一個新手,並且到處搜索。我有一個JavaScript函數。幫助從PHP或HTML調用JavaScript函數

mkfile : function(fm) { 

我試圖通過點擊命令來執行此操作。

任何想法。對不起,我在這有點笨,但我已經嘗試了一切,沒有任何反應。

+1

的onclick = 「功能(ARG);」不起作用?您需要發佈更多代碼 – Robert 2010-12-16 04:01:06

+1

您的JavaScript代碼段沒有任何意義。它在語法上無效。 – 2010-12-16 04:02:06

+0

馬特,我認爲這是javascript的命名空間。 – mythicalprogrammer 2010-12-16 10:35:53

回答

3

使用屬性onclick如下:<a onclick="javascript:mkfile()" >Bob</a>。你不必事先得到javascript:,但它可以幫助像IE這樣的瀏覽器(甚至不讓我開始)。

順便問一下,你的代碼是錯誤的,應該是

function mkfile(fm) { 
    // your code 
} 

不要猶豫,馬上問,如果你不明白這一點。

2

沒有更多的代碼是很難告訴你在做什麼錯,但通常是這樣的:

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

<script type="text/javascript"> 

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

</script> 

DEMO

有結合事件處理的幾種方法。我建議閱讀quirksmode.org - Introduction to EventsMDC - Event handlersMDC - The DOM and JavaScript,也請遵照那裏的聯繫;)

+0

這不是'從'HTML或PHP,但仍然有效。 (它不包括或引用問題的代碼) – Fred 2010-12-16 04:08:37

+1

@Fred:1)在HTML代碼中編寫事件處理程序是舊派,不應該再做任何事情了。除此之外,從HTML *調用JavaSCript非常容易解釋imo。 2)如果我讀*幫助調用php *中的javascript函數,那麼我認爲OP對DOM腳本的知識知之甚少,並不知道最佳方式。 – 2010-12-16 04:17:00

+0

完全同意。 – Fred 2010-12-16 04:32:58

1

正如其他人指出,這是不是真的可以看到什麼是你的代碼錯誤沒有看到更多。但是你貼(其name:value)的小部分只適用於一對夫婦的情況下,這兩者都是JS設計的有些共同的模式:

// 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(); 

如果這是你所擁有的,順便可以綁定這在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 2010-12-16 04:42:23

+0

仍然不能得到它的工作。我已添加更多信息。 – simon 2010-12-17 02:41:48

+0

仍然不能得到它的工作。我想在這裏附上。有沒有辦法。你可以在這裏看到js腳本。在那裏你會看到mkfile函數。 http://elrte.org/redmine/projects/elfinder/repository/revisions/master/entry/src/js/elFinder.ui.js不知道你是否看過elfinder,但看起來相當不錯。 – simon 2010-12-17 02:47:46