JavaScript变量在传入函数后未定义
您好,我正在使用一个函数,但我看不出问题出在哪里,请帮助 这是检查输入长度的JavaScript函数JavaScript变量在传入函数后未定义,javascript,jquery,Javascript,Jquery,您好,我正在使用一个函数,但我看不出问题出在哪里,请帮助 这是检查输入长度的JavaScript函数 function checkLength(o, min, max) { if ( o.val().length > max || o.val().length < min ) { $("#uper_length_stud").show() return false; }
function checkLength(o, min, max)
{
if ( o.val().length > max || o.val().length < min )
{
$("#uper_length_stud").show()
return false;
}
else
{
return true;
}
}
它在o.val()部分说o是未定义的。虽然我认为它是正确通过的?有什么问题吗
Html部分
姓名:
使现代化
在检查长度()
中,您没有传递任何内容
尝试将所有参数传递给它将三个参数传递给函数 这里的函数需要3个参数,而您并没有传递它,所以它表示未定义 o、 最小值,最大值试试这个 检查这把小提琴 Html代码
<input id='firstName' />
<button id="btn"> Button</button>
按钮
JavaScript代码
$("#btn").click(function() {
var name = $('#firstName').val();
x = checkLength(name,1,4);
//other codes follow
});
function checkLength(o, min, max)
{
if ( o.length > max || o.length < min )
{
//$("#uper_length_stud").show()
return false;
}
else
{
return true;
}
}
$(“#btn”)。单击(函数(){
var name=$('#firstName').val();
x=校验长度(名称,1,4);
//其他代码如下
});
功能检查长度(o、最小值、最大值)
{
如果(o.length>max | | o.length
您可以从if条件中取出.val()
,因为name
是您要传递的字符串:
function checkLength(o, min, max){
if ( o.length > max || o.length < min ){
$("#uper_length_stud").show();
return false;
}
}
函数校验长度(o、最小值、最大值){
如果(o.length>max | | o.length
我认为您不需要else部分,并确保您的函数在全局范围内。因为您没有在函数中传递任何参数。哦,对不起,我的问题错了,我已经编辑了。您是否在
前面加了关于名称的id
?元素存在?@PaoloLambojon。在调用checkLength函数以查看jquery是否正确返回了名称之前,您是否介意添加一个console.log?你调用val()两次,这真的是基于你的页面吗?@PaoloLambojon也发布你的html,如果可能的话,我们会更容易帮助你:)我认为你也应该添加你的html,而且你的函数在全局范围内。
function checkLength(o, min, max){
if ( o.length > max || o.length < min ){
$("#uper_length_stud").show();
return false;
}
}