как вызвать функцию JS без события - PullRequest
8 голосов
/ 24 августа 2011

Как я могу просто вызвать функцию js из html-файла без триггера событий?Я хочу иметь такой код:

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="jquery.flot.js"></script>
<script src="chart.js"></script>

<title>
</title>
</head>

<body>

<div id="chart1" style="width:600px;height:300px"></div>

show_graph({{ chart_type }}, {{ data }}, {{ options }});

</body>

</html>

, но это просто приводит к тому, что вызов функции выводится на экран, а не фактически выполняется функция.

например, я получаю show_graph(бар, [[1, 2000], [2, 50], [3, 400], [4, 200], [5, 5000]], ['Foo']);

Что мне делать?

РЕДАКТИРОВАТЬ:

Я благодарен за отзыв, но я попытался обернуть его в тег сценария и получил ошибку "Недопустимое количество параметров".

javascript:

function show_graph(charttype, data, options){

    var chart_options = {
        series: {
            charttype: {
                show: true
            }
        }
    }

    var plot = $.plot($("#chart1"), [data], [chart_options]);
}

, поэтому я полагаю, что реальный вопрос заключается в том, «почему я получаю ошибку« недопустимое количество параметров », когда я передаю 3 параметра и принимаю 3 параметра»? "

Ответы [ 6 ]

14 голосов
/ 24 августа 2011

Оберните в <script> теги:

<body>

<div id="chart1" style="width:600px;height:300px"></div>

<script type="text/javascript">
    show_graph({{ chart_type }}, {{ data }}, {{ options }});
</script>

</body>

... хотя я не знаю, как учитывается шаблон. Я думаю, он будет отображаться одинаково.

4 голосов
/ 24 августа 2011

Еще один ответ:

<script type="text/javascript">
    (function() {
        // The following code will be enclosed within an anonymous function
        var foo = "Goodbye World!";
        document.write("<p>Inside our anonymous function foo means '" + foo + '".</p>');
    })(); // We call our anonymous function immediately
</script>
4 голосов
/ 24 августа 2011

Вам нужно обернуть вызов функции в теги скрипта следующим образом:

<script type="text/javascript">
show_graph({{ chart_type }}, {{ data }}, {{ options }});
</script>

Если вам нужно подтвердить как XHTML, вы должны также обернуть CDATA.См. Когда раздел CDATA необходим в теге скрипта? для ссылки на это.

3 голосов
/ 24 августа 2011

Добавление тегов скрипта.

<script>
show_graph({{ chart_type }}, {{ data }}, {{ options }});
</script>
3 голосов
/ 24 августа 2011

Поместите его в тег <script>.

<script type='text/javascript'>show_graph({{ chart_type }}, {{ data }}, {{ options }});</script>

0 голосов
/ 24 августа 2011

Вы должны вызвать функцию, когда страница загружена.Для этого с помощью jQuery используйте этот код:

<script type="text/javascript">
  $(document).ready(function() {
    show_graph({{ chart_type }}, {{ data }}, {{ options }});
  });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...