jQuery:在表单提交时检查val()是否具有特定值

时间:2010-05-31 15:10:05

标签: jquery forms

我正在尝试检查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 个答案:

答案 0 :(得分:2)

在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 :(得分:1)

我希望这对某人有用:

此代码

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