JavaScript表单属性null错误

时间:2012-01-27 17:57:42

标签: javascript

我有一个java脚本代码,它将在表单中设置一些值

function editCategory(categoryId)   {
$.ajax({
    type: "POST",
    url: "/product/fetchEditCategory",
    data: "categoryId=" + categoryId,
    success: function(response){
        var productManagerForm = document.getElementById('productManager');
        productManagerForm.ceName.value = response.catName;........

我的JSP是 -

    <form id="productManager" name="productManager" action="/product/" method="post">
    <div id="editCategory">
        <tr>
                <td style="font-weight:bold;">Category Name</td>
                <td><input type="text" id="ceName" /></td>              
            </tr>   
</div>      
<td><a href="#editCategory" id="cat"  onclick="editCategory('p1')">edit</a></td>

我在运行此代码时遇到以下错误 -

Message: 'ceName' is null or not an object

有人可以告诉我这里有什么问题吗?

3 个答案:

答案 0 :(得分:2)

ceName不能作为productManagerForm的属性进行访问。

试试这个:

var ceName = document.getElementById('ceName');
ceName.value = response.catName;........

答案 1 :(得分:0)

你必须尝试这个:

var productManagerForm = document.getElementById('productManager');
var ceName = productManagerForm.getElementById('ceName');
ceName.value = response.catName;

答案 2 :(得分:0)

不确定您要尝试使用此功能,但

 var productManagerForm = document.getElementById('productManager');

返回一个节点Element。 ceName是此元素的子元素。不是此元素的属性。您可以使用以下方法直接获取元素:

var ceName = document.getElementById("ceName");

或者通过关闭节点树直到找到这个...考虑到ceName是ID,使用getElementById()直接获取它会快得多。

希望这有帮助!