无法设置null的属性值

时间:2013-11-27 08:03:05

标签: javascript html

我是新手,试图通过单选按钮从按钮点击获取值设置隐藏字段的值。出于某种原因,我能够提醒值,但在分配时,它总是给我null。

请帮忙。

提前致谢。

<script type="text/javascript">
function deleteCheck(){
    var values = document.getElementById("deleteVisitID").checked;

        if (values) {
            var hiddenInput = document.getElementById('deleteIDValue');
            *hiddenInput.value=document.getElementById("deleteVisitID").value;* <---- throws error

            window.open("DeleteAppointmentSelected.jsp",'_self',false);
        }else{
            alert('Please Enter a ID before submitting');           
        }
}

</script>

表格上的

<table border="1">
    <tr><th>visit_id</th><th>visit_date</th><th>visit_time</th><th>physician_id</th><th>Delete Visit</th></tr>
    <%
    while(visitsForPatient.next()){
        %><tr>
            <td>
                <% visit_id=visitsForPatient.getString(1);%>
                <%=visit_id %>
            </td>
            <td>
                <%visit_date=visitsForPatient.getString(2);%>
                <%=visit_date %>
            </td>
            <td>
                <%visit_time=visitsForPatient.getString(3);%>
                <%=visit_time %>
            </td>
            <td>
                <%physician_id=visitsForPatient.getString(4);%>
                <%=physician_id %>
            </td>
            <td>
<input type="radio" name="deleteVisitID" id="deleteVisitID" value="<%=visit_id %>"/>
            </td>


        </tr>

        <%

    }
    %></table><input type="hidden" name="deleteIDValue"/>

2 个答案:

答案 0 :(得分:7)

<input type="hidden" name="deleteIDValue"/>

需要具有ID属性:

<input type="hidden" name="deleteIDValue" id="deleteIDValue"/>

让脚本中的这一行工作:

document.getElementById('deleteIDValue')

目前,您正在尝试查找页面上不存在ID为deleteIDValue的元素。因此,您无法在不存在的对象上调用.checked.value,这是您收到错误的位置。

答案 1 :(得分:0)

此错误是因为您声明了一个对象(数组)并在null值中初始化。

例如我遇到了同样的错误,因为我输入了下一个不正确的代码:

var employee = {obj: null};
employee.name = $("#txtnombre").val(); // this code is incorrect

正确的代码是:

var employee = {obj: {}};
employee.name = $("#txtname").val();

或者

var employee = {name:null};