2016-02-10 3 views
1

Я пытаюсь установить значение checkbox в ASP.NET, которое может вводиться пользователем или извлекаться из базы данных. Но каждый раз, когда он показывает это сообщение об ошибкеНевозможно получить значение флажка HTML в JavaScript

0x800a138f - JavaScript runtime error: Unable to get property ' value ' of undefined or null reference

Мой HTML код:

<input type="checkbox" id="myCheck" data-member="IsSubGroupNecessary" data-label="" data-provider="checkbox" onchange="IsSubGroupNeeded();"/> 

JavaScript код:

function IsSubGroupNeeded() { 
    var Subgrp = document.getElementById('<%=myCheck.ClientID%>').checked; 
    if (Subgrp == true) { 
     loadgrdSubgroupItem(); 
    } 
}; 

Update: Проблема ошибка решается. Но я хочу вызвать функцию loadgrdSubgroupItem, когда значение флажка истинно независимо от того, вводится ли пользователь или извлекается из базы данных. Как это сделать?

+0

'document.getElementById ('myCheck')' является то, что работает? –

+0

Кажется, что ошибка выбрасывается где-то в другом месте, можете ли вы подключить отладчик в браузере и проверить, где это исключение выбрано? – Michael

+0

@Amey Deshpande не запускает ошибку, но не работает. – Mimi

ответ

1

Ваш визуализации HTML имеет идентификатор myCheck, так что вы должны быть в состоянии:

function IsSubGroupNeeded() { 
    var Subgrp = document.getElementById('myCheck').checked; 
    if (Subgrp == true) { 
     loadgrdSubgroupItem(); 
    } 
}; 

Без необходимость вызова на стороне сервера.

(я предполагаю, что у вас есть ClientIDMode="Static" на вашем asp.net разметки)

+0

'#' нужен? Я думаю, что не нужен хэш – Hemal

+0

Да, я думаю, что случайно попал в jquery. – NikolaiDante

0

Это должно быть

var Subgrp = <%=myCheck.Checked%>; 

Если флажок HTML

function IsSubGroupNeeded() { 
    var Subgrp = document.getElementById('myCheck').checked; 
    if (Subgrp == true) { 
     loadgrdSubgroupItem(); 
    } 
}; 
+0

Не было ли это установлено на рендеринг формы и никогда не изменится при нажатии на флажок? – Michael

+0

Показывает синтаксическую ошибку – Mimi

+1

OP сказал, что это флажок ASP.NET, поэтому '<% = myCheck.Checked%>;' будет работать отлично. – Hemal

1

Поскольку флажок не является контроль ASP, вы можете сделать как

var subgrp = document.getElementById('myCheck').checked 
1

Вы должны передать имя элемента управления только getElementById найти этот элемент здесь является example:

<html> 
<head> 
<script> 
function IsSubGroupNeeded() { 
var Subgrp = document.getElementById('myCheck').checked; 
    alert(Subgrp) 

}; 
</script> 
</head> 
<body> 
<input type="checkbox" id="myCheck" data-member="IsSubGroupNecessary" data-label="" data-provider="checkbox" onchange="IsSubGroupNeeded();"/> 
</body> 
</html> 
Смежные вопросы