отметьте переключатели и поля, чтобы включить ссылку - PullRequest
2 голосов
/ 04 февраля 2011

У меня есть форма с множеством переключателей и парой текстовых полей. Итак ...

<input type="radio" name="pic" id="pic" value="val1">
<input type="radio" name="pic" id="pic" value="val2">
<input type="radio" name="pic" id="pic" value="val3">

<input type="text" name="email" id="email" value="">
<input type="text" name="comment" id="comment" value="">

и после формы есть ссылка, которая откроет лайтбокс. Я хочу, чтобы ссылка была включена только в том случае, если выбран переключатель и два поля заполнены. Большое спасибо за вашу помощь.

Ответы [ 3 ]

1 голос
/ 04 февраля 2011

Я думаю, что это должно работать:

if ($('input:radio[name=pic]:checked').length && $('#email').val().length && $('#comment').val().length) {
    /* activate the lightbox link */
}

else {
    alert("Please ensure you've selected one of the radio buttons, and filled out the text-fields.");
}

Отредактировано для изменения вашего кода:

html:

<form action="#" method="post">
    <input type="radio" name="pic" id="pic" value="val1">
    <input type="radio" name="pic" id="pic" value="val2">
    <input type="radio" name="pic" id="pic" value="val3">

    <input type="text" name="email" id="email" value="">
    <input type="text" name="comment" id="comment" value="">
    <input type="submit" value="submit" />
</form>

jQuery:

$('form').submit(

function() {
    if ($('input:radio[name=pic]:checked').length && $('#email').val().length && $('#comment').val().length) { /* activate the lightbox link */
    }
    else {
        alert("Please ensure you've selected one of the radio buttons, and filled out the text-fields.");
    }
    return false;
});

JS Fiddle demo .

0 голосов
/ 04 февраля 2011
function checklink() {
    if ($('[name=pic]').val()) && $('#email').val() && $('#comment').val()) {
        $('#linkId').hide();
    } else {
       $('#linkId').show()
}

затем добавьте onchange="checklink()" в поля ввода

Редактировать : исправлено отключение в соответствии с комментарием @fehergeri

0 голосов
/ 04 февраля 2011
$("#link").click(function(e) {
    if ($('input[name=pic]:checked').val() && $('#email').val() && $('#comment').val()) lightbox();
    else e.preventDefault();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...