Помощь в вызове функции JavaScript из PHP или HTML - PullRequest
1 голос
/ 16 декабря 2010

Это может быть просто для кого-то, но я новичок и искал везде. У меня есть функция JavaScript.

mkfile : function(fm) {

Я пытаюсь выполнить это с помощью команды при нажатии.

Любые идеи. Извините, я немного тупица в этом, но я попробовал все, и ничего не происходит.

Ответы [ 3 ]

3 голосов
/ 16 декабря 2010

Используйте атрибут onclick следующим образом: <a onclick="javascript:mkfile()" >Bob</a>.Вам не нужно заранее иметь javascript:, но это помогает в браузерах, таких как IE (даже не заводите меня).

Кстати, ваш код неправильный, он должен быть

function mkfile(fm) {
  // your code
}

Не стесняйтесь спрашивать, если вы этого не понимаете.

2 голосов
/ 16 декабря 2010

Без дополнительного кода трудно понять, что вы делаете неправильно, но обычно это выглядит так:

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

<script type="text/javascript">

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

</script>

DEMO

Существует несколько способов привязки обработчиков событий.Предлагаю прочитать quirksmode.org - Введение в события , MDC - Обработчики событий и MDC - TheDOM и JavaScript , а также перейдите по ссылкам, приведенным там;)

1 голос
/ 16 декабря 2010

Как уже отмечали другие, на самом деле невозможно увидеть, что не так с вашим кодом, не видя больше его.Но небольшая часть, которую вы опубликовали (с 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-коде:

<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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...