Jestem tu nowicjusze, próbując ustawić wartość ukrytego pola, kliknij przycisk pobierania z przycisku radiowego. Z jakiegoś powodu jestem w stanie ostrzec wartość, ale przydzielając, zawsze daje mi wartość null.

Proszę pomóż.

Z góry dziękuję.

<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>

Na formularzu

<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
user1816914 27 listopad 2013, 12:03

2 odpowiedzi

Najlepsza odpowiedź
<input type="hidden" name="deleteIDValue"/>

Musi mieć atrybut ID:

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

Dla tej linii w skrypcie do pracy:

document.getElementById('deleteIDValue')

W tej chwili próbujesz znaleźć element z ID deleteIDValue, który nie istnieje na stronie. Dlatego nie można nazwać .checked lub .value na nieistnieniu obiektu, w którym pojawia się błąd.

7
zzlalani 27 listopad 2013, 08:08

Ten błąd jest dlatego, że ogłaszasz obiekt (tablica) i zainicjuj w wartości null.

Na przykład mam ten sam błąd, ponieważ wpisałem następny nieprawidłowy kod:

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

Prawidłowy kod to:

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

Lub

var employee = {name:null};
0
morten.c 23 marzec 2018, 14:51