variable.length在length=1时未定义

variable.length is undefined when length = 1

本文关键字:length 未定义 1时 variable      更新时间:2023-09-26

我使用js来警告变量(字段)的长度,但当我的字段长度应该等于1时,它会崩溃。

当field.length大于1时,一切正常。有什么想法吗?

这是HTML代码

<form>
<someloop>
<input class="checkbox" type="checkbox" name="mark" value="#recID#">
</someloop>
<button class="btn btn-danger" type="button" onClick="dlte(mark);" >Delete</button>
</form>

JS代码:

function dlte(field){
        alert(field.length);
    }

在onClick处理程序中尝试时,不能传递DOM节点的引用。

尝试:

onclick="dlte('mark');"

以及功能:

function dlte(field) {
    var nodes= document.getElementsByName(field);
    alert(nodes[0].length);
}
<button class="btn btn-danger" type="button" onclick="dlte('mark')" >Delete</button>    
function dlte(field){
    alert(document.getElementsByName(field).length);
}

如果您的mark名称是html元素的名称,则应该使用getElementsByName属性来获取长度

这是我为问题找到的解决方案

function(filed){
 'var $srt = $(field); 
  alert($srt.length);' 
}

此外,给@DaHaka和@Steve H.的一封信

您建议我必须在变量('mark')周围添加单引号,但由于某种原因,这最终导致代码中断。当我把它们取下来时,代码开始按我想要的方式工作。不管怎样,感谢您的帮助和建议!!:)