调用JS函数和外部文件在页面加载时传递参数

时间:2016-08-26 13:07:31

标签: javascript jquery

我还不熟悉JS,所以我想知道是否还有这样做:

main.js:

 $(function () {
   $('.delete_btn').click(function () {
      var confirmation = confirm('Deseja remover este evento?');
      if (!confirmation) return false;
   })
})

function updateIsoDate(date) {
   $('.datepicker').datepicker('setDate', date);
}

我已经调用了onload的功能,但它并不是必需的和特定的东西。

events.ejs:

...

<div class="form-group">
       <label for="date">Data do Evento</label>
       <input type="text" class="form-control datepicker"   id="date"name="date">
    <input type="hidden" id="dateInfo" name="date" value=' <%= event.date %>'>
</div>

...

   <script>
    $(document).ready(function () {
      updateIsoDate($('#dateInfo').val());
    });
  <script>

我可以从外部文件调用函数传递参数吗? 我不知道是否需要添加scr =&#34; js / main.js&#34;到我的脚本&#34;标签cuz它之前已加载

所以我试图改变我的IsoDate格式以显示到我的日期选择器中。它正在工作,但我想让页面更清洁,从另一个文件中调用它。

奖励:

首先!感谢所有人,特别是Jonas,这让我意识到出了什么问题,并且抱歉浪费你的时间。

答案:

如果您之前已经包含了js文件,例如:

<script src="/js/main.js"></script>

您可以从脚本标记中调用函数,并使用

$(function () {'code here'}

 $(window).on('load', function () {'code here'}

您可以在页面就绪(第一个)或完全加载(第二个)的地方调用它。

因此调用函数并传递参数/参数将是:

<script src="/js/main.js"></script>
<script>
   $(window).on('load', function () {
      myFunc(arg);
   }
</script>

3 个答案:

答案 0 :(得分:0)

Simpy do:

window.onload=function(){
coolonloadfunction("p1", "p2");
}

或者在Jquery:

$(document).ready(function(){
coolonloadfunction(" p1", "p2");
});

执行:

function coolonloadfunction(a,b){
alert(a);//p1
alert(b);//p2
}

可能在不同的文件中,可能会加载:

<script src=" scriptwithcoolonloadfunction.js"></script>

请记住,外部文件应放在调用文件中函数的代码前面

这回答了标题,但是你真正的问题对我来说有点不清楚。请指明

答案 1 :(得分:0)

你为什么不搬家

<script>
    $(document).ready(function () {
      updateIsoDate($('#dateInfo').val());
    });
<script>

到您的 main.js ,结果您将拥有:

function updateIsoDate(date) {
   $('.datepicker').datepicker('setDate', date);
}
$(function () {
   $('.delete_btn').click(function () {
      var confirmation = confirm('Deseja remover este evento?');
      if (!confirmation) return false;
   })
   $(document).ready(function () {
      updateIsoDate($('#dateInfo').val());
   });
})

答案 2 :(得分:0)

events.ejs:

我添加了javascript文件

<script src="/js/main.js"></script>

这里是值为

的输入
    <div class="form-group">
      <label for="date">Data do Evento</label>
      <input type="text" class="form-control datepicker dp-add" id="date" name="date">
      <input type="hidden" id="dateInfo" name="date" value=' <%= event.date %>' required>
   </div>
    ...

然后使用$(window).on('load', function()传递参数并调用main.js文件中的函数

    <script>
    $(window).on('load', function() { 
        // Formating IsoDate to be displayed and setting into the datepicker
        updateIsoDate($('#dateInfo').val());
    });
    </script>

main.js:

function updateIsoDate(date) {
$('.datepicker').datepicker('setDate', date);
}