Heim > Artikel > Backend-Entwicklung > 【thinkphp】引用js文件函数报错,直接把函数写在html中使用则正常
我在public/admin/js下新建了一个custom.js文件:[code=javascriptfunction validateUserName(){
alert('Yes');
$.post(
"",
{UserName:$("#UserName").val()},
function(returnedData,status){
var result=returnedData;
if(result!=null){
$("#info").html(""+result+"");
}else{
$("#info").html("");
}
}
);
}][/code]
里面只有一个函数,在html里引用:
<script type="text/javascript" SRC="__PUBLIC__/admin/js/custom.js"></script>
<input type="text" id="UserName" class="half" name="UserName" onblur="validateUserName()" value="<{$data.UserName}>"/>
function _404($msg='',$url='') { APP_DEBUG && throw_exception($msg);
<script type="text/javascript">function validateUserName(){ $.post( "<{:U('Index/Index/Users/validateUserName')}>", {UserName:$("#UserName").val()}, function(returnedData,status){ var result=returnedData; if(result!=null){ $("#info").html("<font color=red>"+result+"</font>"); }else{ $("#info").html(""); } } ); }</script>
你在引入的时候没有引入JQUERY库文件导致的这个问题。
请问是哪个库文件呢,jquery.js这个已经有了,而弹窗出来了说明已经调用了这个函数,难道是$.post还要其他文件吗?
你在引入的时候没有引入JQUERY库文件导致的这个问题。
js放在文件里面,是不是后台的这个方法没找到:U('Index/Index/Users/validateUserName');然后后台直接报错了
js里的这个""有问题哦,你这是外部引入的,tp貌似不会对这个进行模板替换
U方法这个直接放在这里是不行的。我记得我学TP视频的时候,视频里的老师讲过这个问题。好像要用一个变量来保存这个url,然后再传过去。具体不记得了。
url要写在模版里面才能正确的解析成路由地址