2010-12-16 82 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