[英]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.