jQuery: проверьте, имеет ли val () конкретное значение или нет при отправке формы - PullRequest
3 голосов
/ 31 мая 2010

Я пытаюсь проверить, имеет ли val () конкретное значение или нет внутри формы, если это так, удаляя содержимое / предотвращая отправку формы в зависимости от того, заполнены ли оба поля (stringOne и stringTwo). Для каждого поля ввода есть текст по умолчанию: первое - «Namn, telefonnr, sökord», а второе - «Område, plats, ort». Если пользователь заполняет только первое поле, второе должно быть очищено перед передачей строки формы и наоборот. Вот так -

// "This" refers to the form's submit button
if (($(this).siblings('input.stringOne').val("Namn, telefonnr, sökord")) && ($(this).siblings('input.stringTwo').val("Område, plats, ort"))) {
    return false; // If nothing's filled in, then do not submit
} else {
    // If either field is not filled in, clear it
    if ($(this).siblings('input.stringOne').val("Namn, telefonnr, sökord")) {
        $(this).siblings('input.stringOne').val() == '';
    }
    if ($(this).siblings('input.stringTwo').val("Område, plats, ort")) {
        $(this).siblings('input.stringTwo').val() == '';
    }
}

jQuery версия 1.2.6.

Ответы [ 2 ]

2 голосов
/ 31 мая 2010

в jQuery, когда вы помещаете значение в val(), вы устанавливаете значение.

$('myElement').val()  // returns the value

$('myElement').val('some string')  // sets the value

.val() - http://api.jquery.com/val/

var $strOne = $(this).siblings('input.stringOne');
var $strTwo = $(this).siblings('input.stringTwo');

// "This" refers to the form's submit button
if ( (!$strOne.val() || $strOne.val() == "Namn, telefonnr, sökord") && (!$strTwo.val() || $strTwo.val() == "Område, plats, ort" ) {
    return false; // If nothing's filled in, then do not submit
} else {
    // If either field is not filled in, clear it
    if ($strOne.val() == "Namn, telefonnr, sökord") {
        $strOne.val("");
    }
    if ($strTwo.val() == "Område, plats, ort" ) {
        $strTwo.val("");
    }
}
1 голос
/ 20 октября 2011

Надеюсь это кому-нибудь пригодится:

Этот код

if ($('#my_text_field').val() == "Clear Me") {
    $('#my_text_field').val("");

Может быть написано

$('#my_text_field[value="Clear Me"]').val("");

Еще лучше

$('#my_text_field[value="Clear Me"]').val("").change();

.change () приводит к тому, что $ ('# my_text_field [value = "Clear Me"]') не будет соответствовать #my_text_field после изменения его значения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...