[英]Call a Javascript function from dynamically created html form button
我有一个javascript文件,正在使用html标签创建表单。 在此表单上有2个按钮: 确认和取消 。 当用户单击取消时,该表格将被丢弃。 我已经编写了在包含用于动态创建表单元素的代码的同一javascript文件中关闭表单的方法。 但是,当我尝试关闭表单时,在控制台上出现以下错误。
调用方法的Javascript按钮
...
$("#lot").append(
"<div class='form-group'></br>"+
"<label class='col-md-12 control-label' for='tableFormConfirmButton'></label></br>"+
"<label class='col-md-12 control-label' for='tableFormConfirmButton'></label></br>"+
"<label class='col-md-12 control-label' for='tableFormConfirmButton'></label></br>"+
"<label class='col-md-2 control-label' for='tableFormConfirmButton'></label>"+
" <button id='tableFormConfirmButton' name='tableFormConfirmButton' class='btn btn-primary' onclick='storeTableFormInfo("+newAgent+","+i+","+e+","+mouseTop+","+mouseLeft+","+elemType+")'>Confirm</button>"+
"  <button id='tableFormCancelButton' name='tableFormCancelButton' class='btn btn-danger' onclick='closeForm()'>Cancel</button>"+
"</div></br>"
);
...
同一文件中的closeForm()方法
function closeForm()
{
var myNode = document.getElementById("lot");
var fc = myNode.firstChild;
while( fc ) {
myNode.removeChild( fc );
fc = myNode.firstChild;
}
$(".toolbox-titlex").hide();
$(".panel").hide();
$("#container").removeClass("disabledbutton");
$("#toolbox").removeClass("disabledbutton");
}
我尝试在JSP主页中的<script>
标记下添加closeForm()
方法,然后它起作用了。 但是我的问题是,我已经在该JSP中将该JavaScript文件引用为<script src="resources/js/taro/Customscripts/VisualEditor.js" type="text/javascript"></script>
在<head>
。 那么为什么不认识这种方法呢?
在这方面的任何建议将不胜感激。
尝试使用jQuery将click事件附加到ready函数中,以确保在附加该事件之前已加载所有代码:
$(function(){
$('#tableFormCancelButton').on('click', closeForm);
});
并从按钮中删除内联事件onclick='closeForm()'
。
希望这可以帮助。
尝试将onclick='closeForm()'
更改为onclick='test()'
并在JSP上添加
function test (){
closeForm();
};
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.