#javascript #html #jquery #validation #checkbox
Вопрос:
Я создаю мобильное веб-приложение с помощью jQuery Mobile и хочу проверить, установлен ли флажок. Вот мой код.
<script type=text/javascript>
function validate(){
if (remember.checked == 1){
alert("checked") ;
} else {
alert("You didn't check it! Let me check it for you.")
}
}
</script>
<input id="remember" name="remember" type="checkbox" onclick="validate()" />
Но по той или иной причине он его не выполняет.
Пожалуйста, помогите !
—-РЕДАКТИРОВАТЬ—— Это то, что у меня есть на данный момент.
<DIV data-role="content" data-theme="g">
<DIV class=ui-grid-g-login>
<FORM method=post action=[$=PROBE(266)/] data-theme="C">
<P>~DATA_ERROR~</P>
<div id="mail" data-role="fieldcontain">
<label for="mail">Email:*</label>
<input id="mail" name="mail" type="email" />
</div>
<div id="pass" data-role="fieldcontain">
<label for="pass">Paswoord:*</label>
<input id="pass" name="pass" type="password" />
</div>
<div id="remember" data-role="fieldcontain">
<label for="remember">Onthoud mij</label>
<input id="remember" name="remember" type="checkbox" onclick="validate()" />
</div>
<P><INPUT class=btn name=submit value=Login type=submit onclick="validate()"></P>
</FORM>
</DIV>
</DIV><!-- /content -->
<script type=text/javascript>
function validate(){
var remember = document.getElementById('remember');
if (remember.checked){
alert("checked") ;
}else{
alert("You didn't check it! Let me check it for you.")
}
}
</script>
—-РЕДАКТИРОВАТЬ—
Решив это, проблема заключалась в том, что содержимое поля также называлось «запомнить»
Комментарии:
1. Что
remember
в этом контексте:if (remember.checked == 1){
???2. Позже он должен запомнить адрес электронной почты и пароль. Это для страницы входа в систему
3. То, что я пытаюсь сказать,
remember
находитсяundefined
в этом контексте. Попробуйconsole.log(remember);
.4. Какую версию HTML вы используете? На самом деле это не XHTML, не так ли?
5. Как упоминал @Steaphann в правке, код не работал, потому что в html есть два элемента с одинаковым идентификатором.
<div id="remember" data-role="fieldcontain">
и.<input id="remember" name="remember" type="checkbox" onclick="validate()" />
Ни один из ответов не затронул эту проблему.
Ответ №1:
checked
является boolean
свойством, поэтому вы можете напрямую использовать его в if
состоянии
<script type="text/javascript">
function validate() {
if (document.getElementById('remember').checked) {
alert("checked");
} else {
alert("You didn't check it! Let me check it for you.");
}
}
</script>
Комментарии:
1. Я всегда получаю сообщение: «Ты не проверил это! Позвольте мне проверить это для вас.’
2. Нет, у меня все работает нормально ; я получаю оба предупреждающих сообщения.
3. @Steaphann Вы заменили слово «запомнить» своим идентификатором флажка? …о, только что заметил, что 2012 0.о …p.s. вы забыли точку с запятой после 2-го заявления о предупреждении
4. ..Что, если я не хочу, чтобы он проверял это для меня, и я просто хочу посмотреть, проверено это или нет?
5. @josh.thomson точки с запятой необязательны.
Ответ №2:
Попробуйте это:
function validate() {
var remember = document.getElementById("remember");
if (remember.checked) {
alert("checked");
} else {
alert("You didn't check it! Let me check it for you.");
}
}
Ваш сценарий не знает, что это за переменная remember
. Сначала вам нужно получить элемент, используя getElementById().
Комментарии:
1. Вам также следует посоветовать снять это
== 1
. Он работает только из-за двух ошибок. На самом деле значениеtrue
илиfalse
, он должен просто использоватьif( remeber.checked )
2. Я всегда получаю сообщение: «Ты не проверил это! Позвольте мне проверить это для вас.’
Ответ №3:
Это должно позволить вам проверить, является ли элемент с id='remember'
'checked'
if (document.getElementById('remember').is(':checked')
Комментарии:
1.
is
не принадлежит объекту элемента DOM2.
.is()
— это функция jQuery..checked
это javascript.3. Почему у этого так много голосов? Между отсутствующей скобкой и смесью между ванилью и jquery. Ответ ужасен, Это либо
$('#remember').is(':checked')
илиdocument.getElementById('remember').checked
, но смешивание никогда не сработает
Ответ №4:
Если вы используете эту форму для мобильного приложения, вы можете использовать обязательный атрибут html5. вы не хотите использовать для этого какую-либо проверку java-скриптов. Это должно сработать
<input id="remember" name="remember" type="checkbox" required="required" />
Ответ №5:
используйте вот так
<script type=text/javascript>
function validate(){
if (document.getElementById('remember').checked){
alert("checked") ;
}else{
alert("You didn't check it! Let me check it for you.")
}
}
</script>
<input id="remember" name="remember" type="checkbox" onclick="validate()" />
Комментарии:
1. Я всегда получаю сообщение: «Ты не проверил это! Позвольте мне проверить это для вас.’
2. @user1251632 WFM тоже. Можете ли вы отредактировать свой вопрос и показать, что у вас есть сейчас? Возможно, вы допустили ошибку копирования и вставки.
3. document.getElementById («запомнить»). проверено == 1 было изменено мной до вашего комментария.. возможно, в этом проблема.
Ответ №6:
Используйте этот простой код ниже: https://jsfiddle.net/Divyesh_Patel/v7a4h3kr/7/
<input type="checkbox" id="check">
<a href="#" onclick="check()">click</a>
<button onclick="check()">button</button>
<script>
function check() {
if (document.getElementById('check').checked) {
alert("checked");
} else {
alert("Not checked.");
}
}
</script>
Ответ №7:
Это должно сработать
function validate() {
if ($('#remeber').is(':checked')) {
alert("checked");
} else {
alert("You didn't check it! Let me check it for you.");
}
}
Комментарии:
1. Работал на меня! По какой-то причине у меня возникли проблемы с тем, что должно быть так просто.
Ответ №8:
Я использую это, и это работает для меня с Jquery:
Jquery:
var checkbox = $('[name="remember"]');
if (checkbox.is(':checked'))
{
console.log('The checkbox is checked');
}else
{
console.log('The checkbox is not checked');
}
Это очень просто, но работа.
С уважением!
Ответ №9:
remember
не определено … и checked
свойство является логическим, а не числом.
function validate(){
var remember = document.getElementById('remember');
if (remember.checked){
alert("checked") ;
}else{
alert("You didn't check it! Let me check it for you.")
}
}
Ответ №10:
if (document.getElementById('remember').checked) {
alert("checked");
}
else {
alert("You didn't check it! Let me check it for you.");
}
Ответ №11:
//HTML
<input type="checkbox" id="someID">
// JavaScript
const someCheckbox = document.getElementById('someID');
someCheckbox.addEventListener('change', e => {
if(e.target.checked === true) {
console.log("Checkbox is checked - boolean value: ", e.target.checked)
}
if(e.target.checked === false) {
console.log("Checkbox is not checked - boolean value: ", e.target.checked)
}
});
Ответ №12:
remember
Переменная не определена. так что попробуй вот так:
function validate() {
var remember = document.getElementById("remember");
if (remember.checked) {
alert("checked");
} else {
alert("You didn't check it! Let me check it for you.");
}
}
Ответ №13:
Вы можете использовать этот простой и эффективный код, используя чистый JS и jQuery.
использование функции проверки в качестве onclick attr
function validate(el) {
if (el.checked) {
alert("checked")
} else {
alert("unchecked")
}
}
<input id="remember" name="remember" type="checkbox" onclick="validate(this)" />
или
using pure JS
document.addEventListener("DOMContentLoaded", function(event) {
//using pure Js code
let chk = document.getElementById("remember");
if (chk.checked) {
alert("checked")
}else{
alert("unchecked")
}
})
<input id="remember" name="remember" type="checkbox"/>
using jQuery
$(document).ready(function () {
//using jQuery code
$('#remember').on('change', function (e) {
if (e.currentTarget.checked) {
alert("checked")
} else {
alert("unchecked")
}
})
})
<input id="remember" name="remember" type="checkbox"/>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
Комментарии:
1. Я рекомендую вам использовать attr
onclick
или использовать код jQuery.
Ответ №14:
Используйте этот простой код ниже: https://jsfiddle.net/Divyesh_Patel/v7a4h3kr/7/
<input type="checkbox" id="check">
<a href="#" onclick="check()">click</a>
<button onclick="check()">
button
</button>
<script>
function check() {
if (document.getElementById('check').checked) {
alert("checked");
} else {
alert("You didn't check it! Let me check it for you.");
}
}
</script>
Ответ №15:
Вы можете попробовать это:
if ($('#remember').is(':checked')){
alert('checked');
}else{
alert('not checked')
}
Ответ №16:
Попробуйте Это
<script type="text/javascript">
window.onload = function () {
var input = document.querySelector('input[type=checkbox]');
function check() {
if (input.checked) {
alert("checked");
} else {
alert("You didn't check it.");
}
}
input.onchange = check;
check();
}
</script>
Ответ №17:
Для этого вы также можете использовать методы jQuery:
<script type="text/javascript">
if ($('#remember')[0].checked)
{
alert("checked");
}
</script>