gpt4 book ai didi

javascript - 从动态创建的 html 表单按钮调用 Javascript 函数

转载 作者:行者123 更新时间:2023-11-28 17:47:50 25 4
gpt4 key购买 nike

我有一个 javascript 文件,我正在其中使用 html 标签创建表单。在此表单上有 2 个按钮:确认取消。当用户点击取消时,表单将被丢弃。我已经在同一 javascript 文件中编写了关闭表单的方法,该文件包含动态创建表单元素的代码。但是,当我尝试关闭表单时,我在控制台上收到以下错误。

Error
error

调用方法的 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>"+
"&nbsp<button id='tableFormConfirmButton' name='tableFormConfirmButton' class='btn btn-primary' onclick='storeTableFormInfo("+newAgent+","+i+","+e+","+mouseTop+","+mouseLeft+","+elemType+")'>Confirm</button>"+
"&nbsp&nbsp<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");
}

我尝试添加 closeForm()方法在主JSP页面下<script>标签然后就成功了。但我的问题是我已经在该 JSP 中引用了这个 javascript 文件 <script src="resources/js/taro/Customscripts/VisualEditor.js" type="text/javascript"></script><head> 。那么为什么它无法识别该方法呢?

任何这方面的建议都将受到高度赞赏。

最佳答案

尝试使用 jQuery 将单击事件附加到就绪函数内,以确保在附加事件之前加载所有代码:

$(function(){
$('#tableFormCancelButton').on('click', closeForm);
});

并从按钮中删除内联事件 onclick='closeForm()'

希望这有帮助。

关于javascript - 从动态创建的 html 表单按钮调用 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46295739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com