Поле ввода в строке таблицы не соответствует стандарту std необходимо отобразить ошибку в следующем столбце этой строки

#jquery #tablerow

#jquery #настольная игра #tablerow

Вопрос:

Я надеюсь, что то, что я хочу сделать, имеет смысл. У меня есть следующая форма. Поля находятся в таблице.

 <form method="POST">
    <table class="FormFieldList" cellspacing="4">
        <tr>
            <td><span class="Required">*</span></td>
            <td><label for="FirstName">First Name</label></td>
            <td>:</td>
            <td><input type="text" inputChars="AN" inputReq="1" name="FirstName" inputMin="3" id="FirstName" size="40" maxlength="100" /></td>
            <td><span class="InputHelp">11</span></td>
            <td><span class="InputError">22</span></td>         
        </tr>
        </table>
</form>
  

Поля должны соответствовать определенным стандартам. Это поле имеет следующий атрибут, который проверяется: inputMin=»3″. Если длина ввода меньше, то я хочу отобразить ошибку в 22.

Мой сценарий выглядит примерно так и отлично работает ….sofar:

 $(':input').blur(function(event) {  

if ($(this).attr("inputMin")!="")
{
    var id = $(this).attr("id");
    if ($(this).attr("inputMin")>$(this).val().length)
    {
        var Label=$('label[for="' id '"]').html();
        var Min=$(this).attr("inputMin");
        alert(Label " needs a minimum of " Min " characters.")


        //NEED THIS HERE SO I CAN DISPLAY AN ERROR
        alert( $('table.FormFieldList td:last input[name=' id ']').val() )



        $(this).focus();
    };
};

});
  

Есть какие-нибудь предложения?

Спасибо за вашу помощь.

Комментарии:

1. вы хотите выбрать то, span которое находится в последней td текущей строке, чтобы отобразить в нем сообщение об ошибке?

Ответ №1:

$(this).closest('tr').find('td:last span') даст вам span внутри последней td текущей строки.

Комментарии:

1. Пожалуйста, один mre-вопрос. Я удалил предупреждение и поместил предупреждающее сообщение в промежуток в соответствии с вашим кодом. Отлично работает, но переходит в цикл и не выходит из него. Хотя я возвращаю фокус к этому вводу, вы этого не ожидали. Еще раз спасибо.