当length = 1时,variable.length未定义

时间:2013-02-05 21:10:47

标签: javascript

我使用js来警告变量(字段)的长度,但是当我的field.length应该等于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);
    }

3 个答案:

答案 0 :(得分:3)

您在onClick处理程序中尝试时无法传递DOM节点的引用。

尝试:

onclick="dlte('mark');"

和功能:

function dlte(field) {
    var nodes= document.getElementsByName(field);
    alert(nodes[0].length);
}

答案 1 :(得分:2)

<button class="btn btn-danger" type="button" onclick="dlte('mark')" >Delete</button>    

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

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

答案 2 :(得分:0)

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

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

另外,请注意@DaHaka和@Steve H.

您建议我必须在我的varibale('mark')周围添加单引号,但由于某种原因,这最终会使我的代码生效。当我把它们拿走时,代码开始按照我的意愿工作。无论如何,感谢您的帮助和建议!! :)