簡體   English   中英

在沒有onclick的情況下運行Javascript函數

[英]Run Javascript function without onclick

我有一個Javascript函數,用於在網頁上創建新的表單元素。 該函數由onclick事件調用。

沒有onclick事件,我無法弄清楚如何運行該函數。 我需要這樣做,因為我有Python代碼生成的內容來預填充表單元素,但仍然希望能夠使用Javascript動態添加和刪除表單元素。

JavaScript函數:

    pcount = 0;
    createinputprice =function (){
        field_area = document.getElementById('pricetable');
        var tr = document.createElement("tr");
        var cella = document.createElement("td");
        var cellb = document.createElement("td");
        var input = document.createElement("input");
        var input2 = document.createElement("input");
        input.id = 'descprice'+pcount;
        input2.id = 'actprice'+pcount;
        input.name = 'descprice'+pcount;
        input2.name = 'actprice'+pcount;
        input.type = "text";
        input2.type = "text";
        cella.appendChild(input);
        cellb.appendChild(input2);
        tr.appendChild(cella);
        tr.appendChild(cellb);
        field_area.appendChild(tr);
        //create the removal link
        var removalLink = document.createElement('a');
        removalLink.onclick = function(){
            this.parentNode.parentNode.removeChild(this.parentNode)
        }
        var removalText = document.createTextNode('Remove Field');
        removalLink.appendChild(removalText);
        tr.appendChild(removalLink);
        pcount++
    }

HTML:

<table id="pricetable">
</table>
<a href='#' onclick="createinputprice()">Add Price</a>
<script type="text/javascript">
    createinputprice();
</script>

onclick事件在JSFiddle中可以正常工作,但是直接調用該函數根本不起作用。

您可以使用“ onload”事件將其放入標簽中:

<body onload='yourfunction()'>

或者只是使用jQuery:

$(document).ready(function() {
    yourFunc();
});

我想您可以使用<body onload="yourfunction()">您還應該查看http://www.w3schools.com/js/js_htmldom_events.asp

如您所見,javascript中有很多可用的事件,應該始終選擇正確的工具(事件)來完成工作。

如果要在頁面加載時調用jquery函數:可以使用$(document).ready(function(){});

例如:

Jquery-

<script type="text/javascript">
    $(document).ready(function(){
       createinputprice();
    });
 </script>

您還可以在Jquery中觸發click事件:

HTML的

<a id="myLink" href='#' onclick="createinputprice();">Add Price</a>

Jquery-

 <script type="text/javascript">
     $(document).ready(function(){
          $('#myLink').click();
     });
 </script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM