1、问题现象。
Uncaught ReferenceError: showOtherDismantleFn is not defined

但是这个方法,在代码中明明存在。
#if($!{isNewEnergy})
#if($!{batteryName} == '宁德时代')
<button class="btn btn-info btn-xs" onclick="showNingDismantleFn()">电池包拆修信息</button>
#else
<button class="btn btn-info btn-xs" onclick="showOtherDismantleFn()">申请电池包原厂拆修</button>
#end
#end
<button class="btn btn-info btn-xs" onclick="alert(1)">申请电池包原厂拆修</button>
/**
* 非宁德,显示电池包拆修信息
*/
function showOtherDismantleFn(){
console.log(1);
// showModal("otherDismantleModal", {}, null, function (){
// getOtherDismantleData();
// });
}
纳闷,奇怪了。
2、解决步骤
恢复全部修改的代码,一点点尝试。
也没加什么,也就是一个弹框而已。
<div class="modal fade in" id="otherDismantleModal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">非宁德-申请电池包原厂拆修</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12" >
<form id="otherDismantleForm" enctype="multipart/form-data">
<input name="infoId" hidden>
<!--基本信息-->
<div class="panel panel-default">
<div class="panel-heading">基本信息</div>
<div class="panel-body">
<div class="form-group">
<div class="form-inline" >
<label class="col-sm-2 control-label"> 状态</label>
<div class="col-sm-4">
<input name = "statusName" class="form-control" readonly/>   
</div>
<label class="col-sm-2 control-label"> 申请人</label>
<div class="col-sm-4">
<input name="operatorName" class="form-control" readonly/>   
</div>
</div>
<div class="form-inline" >
<label class="col-sm-2 control-label"> 通话证明截图</label>
<div class="col-sm-10">
<input name="callImg" class="form-control" readonly/>   
</div>
</div>
<div class="form-inline" >
<label class="col-sm-2 control-label"> 维修记录图片证明</label>
<div class="col-sm-10">
<input name="batteryMaintenanceCertificate" class="form-control" readonly/>   
</div>
</div>
<div class="form-inline" >
<label class="col-sm-2 control-label"> 备注</label>
<div class="col-sm-10">
<textarea name="remark" class="form-control"/>   
</div>
</div>
<div class="form-inline" >
<div class="col-sm-6">
<input class="btn btn-primary btn-sm" type="button" onclick="otherDismantleSubmit(2)" value="同意"/>
<input class="btn btn-default btn-sm" type="button" onclick="otherDismantleSubmit(3)" value="拒绝"/>
</div>
</div>
</div>
</div>
</div>
<!--录音列表-->
<div class="panel panel-default">
<div class="panel-heading">录音列表</div>
<div class="panel-body">
<table class='table table-bordered'>
<thead><tr><th>时长</th><th>文件名</th><th>操作</th></thead>
<tbody id='otherDismantleTapeList'></tbody>
</table>
</div>
</div>
<!--提交记录-->
<div class="panel panel-default">
<div class="panel-heading">提交记录</div>
<div class="panel-body">
<table class='table table-bordered'>
<thead><tr><th>状态</th><th>操作时间</th><th>操作人</th></thead>
<tbody id='otherDismantleActionList'></tbody>
</table>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal" >关闭</button>
</div>
</div>
</div>
</div>
一点点恢复,直到这段代码。
<div class="form-inline form-inline-my-top" style="display: ruby;" >
<label class="col-sm-2 control-label"> 备注</label>
<div class="col-sm-10">
<textarea name="remark" class="textarea-css" style="width: 80%;"/>   
</div>
</div>
去掉就好使(可以找到方法),加上就报错(找不到方法)。
奇怪。
调整为这样
<div class="form-inline form-inline-my-top" style="display: ruby;" >
<label class="col-sm-2 control-label"> 备注</label>
<div class="col-sm-10">
<textarea name="remark" class="textarea-css" style="width: 80%;"></textarea>   
</div>
</div>
正常了,为什么会影响到方法未定义,真是很奇怪。
3、问题反思
我尝试问kimi,一直没有回答的点上。百度查资料,也是无结果。只能笨办法,一点点尝试。有结论后,我试着去问问ai,为什么会这样。
你猜怎么着,有结果反问他,他也觉得很奇怪。
从你提到的错误信息来看,
Uncaught ReferenceError: showOtherDismantleFn is not defined是一个 JavaScript 错误,表明浏览器在尝试调用一个名为showOtherDismantleFn的函数时,没有找到这个函数的定义。这个错误与<textarea>标签是否闭合没有直接关系。
但是事实,确实是这么个情况。问题是解决了,但是值得思考🤔


511

被折叠的 条评论
为什么被折叠?



