【发布时间】:2015-01-18 03:37:57
【问题描述】:
我收到此错误,脚本似乎永远无法正常工作。
Uncaught ReferenceError: validate is not defined
我还尝试从 中调用 onsubmit 函数,并尝试将函数放在页面内和单独的 JS 文件中,但结果相同。
html文件:show.gsp
<body>
<div class="row">
<div class="col-md-9 col-sm-9">
<g:form class="form-inline" role="form" action="update" name="form" >
<div class="form-group has-feedback">
<label class="control-label" for="mcc">GSM.Identity.MCC</label>
<br/>
<input type="text" class="form-control required" name="mcc" id="mcc" value="${mcc}">
<span class="glyphicon form-control-feedback"></span>
</div>
<br/>
<br/>
<div class="form-group has-feedback">
<label class="control-label" for="mnc">GSM.Identity.MNC</label>
<br/>
<input type="text" class="form-control required" name="mnc" id="mnc" value="${mnc}">
<span class="glyphicon form-control-feedback"></span>
</div>
<br/>
<br/>
<div class="form-group has-feedback">
<label class="control-label" for="co">GSM.Radio.CO</label>
<br/>
<input type="text" class="form-control required" name="co" id="co" value="${co}">
<span class="glyphicon form-control-feedback"></span>
</div>
<br/>
<br/>
<p>
<button type="submit" class="btn btn-success btn-sm" id="submit" onclick="validate()">Save Settings</button>
<g:link action="restart" class="btn btn-danger btn-sm">Restart OpenBts</g:link>
</p>
</g:form>
</div>
</div>
</body>
<script src="${resource(dir:'js', file:'main_script.js') }"></script>
和脚本:main_script.js
//validation script
function validate(){
console.log("test");
var mcc = $("#mcc").val();
var mnc = $("#mnc").val();
var co = $("#co").val();
if (!$.isNumeric(mcc)){
$("#mcc").parent("div").removeClass("has-feedback has-error has-success").addClass("has-error");
}
if (!$.isNumeric(mnc)){
$("#mnc").parent("div").removeClass("has-feedback has-error has-success").addClass("has-error");
}
if (!$.isNumeric(co)){
$("#co").parent("div").removeClass("has-feedback has-error has-success").addClass("has-error");
}
}
【问题讨论】:
-
<script src="${resource(dir:'js', file:'main_script.js') }"></script>这一行应该在</body>标签之前 -
确实有效,但我很难理解为什么,它不应该只在正文之后起作用,因为它在同一页面中。
-
哦,我有一个语法错误,所以我修复了它。但这不是问题,所以再次感谢您。也许你想把它作为答案?
-
我会回答的。脚本必须在
<body>标签或<head>中加载
标签: javascript jquery validation grails