Как сделать флажок без формы

Я пытаюсь создать простую программу с тремя полями вроде этого:

    <div id = "nameInput" >Name:</div><input id = "nameInputField" type = "text" name = "userName" />
    <div id = "emailInput" >Email:</div><input id = "emailInputField" type = "text" name = "email" />
    <input id = "termsCheck" type = "checkbox" name = "terms" />

Проблема, с которой я столкнулась, заключается в том, что мне все равно нужно попытаться обернуть ее в форму, чтобы установить флажок, зарегистрированный, когда он установлен. Я НЕ хочу использовать форму, потому что я никогда не хочу ничего представлять.

Вот также и JS для флажка. Он всегда отмечен как непроверенный:

if ($('#terms').checked == true) {
    //Rest of code

Есть ли способ сделать это без использования формы или есть причина, по которой мой флажок никогда не регистрируется как отмеченный?

Ответы

Ответ 1

<input id = "termsCheck" type="checkbox" name="terms" />

JS:

pre jQuery 1.6:

if($('#termsCheck').is(':checked')){}

после jQuery 1.6:

if($('#termsCheck').prop('checked')){}

Ответ 2

Две проблемы.

Во-первых, вы ссылаетесь на имя ввода вместо его идентификатора.

Во-вторых, чтобы использовать свойство checked, оно должно выполняться в элементе DOM, а не в объекте jQuery.

if( $('#termsCheck')[0].checked ) {
    // ...
}

Это доступ к элементу DOM в индексе 0 объекта jQuery, затем доступ к его свойству checked.

Вы также можете использовать метод get() [docs] для извлечения элемент DOM.

if( $('#termsCheck').get(0).checked ) {
    // ...
}

Ответ 3

Если вы НЕ хотите использовать jQuery, вы можете сделать что-то вроде:

<input id = "termsCheck" type = "checkbox" name = "terms" />

и ссылайтесь на него следующим образом:

if (document.getElementById("termsCheck").checked) {
}

Ответ 4

Вам нужно проверить проверенное состояние иначе

$('#terms').is(":checked")

Ответ 5

объект jquery (witch im asuming your using) dosent имеет поле с проверкой так что fill be false yes

что вы можете сделать, это

 $("#terms").is(":checked")